Олег

Олег

С нами с 31 октября 2016; Место в рейтинге пользователей: #87
Олег
08 января 2022, 15:07
0
убрал на всякий случай код, чтобы не лежал в открытом доступе
Олег
08 января 2022, 14:54
0
прикладываю модифицированную версию скрипта mFilter2 1.7.3 (очень старая, но новее версии не увидел)
изменения обернуты в комментарий CUSTOM

я положил этот файл рядом с mFilter2 и вызывал сниппет как [[!mFilter2_custom]]
дополнительных комментариев дать не смогу, уже много лет не пишу на modx

ссылка протухнет через 24 часа
codeshare.io/K8PmQ8

@Василий Наумкин надеюсь это не нарушает копирайт? если нарушает прошу удалить
как я понимаю один файл не может быть использован пиратами
Олег
23 апреля 2019, 16:24
0
Это можно легко поправить, добавив новое Поле в таблицу, фильтровать записи по этому полю.
Олег
23 апреля 2019, 13:50
0
Я больше не создаю сайты на modx, можно на основе моего кода делать что угодно.
Олег
27 декабря 2018, 06:08
0
Пришлось немного поменять сниппет, скйчас не могу отправить. Если вдруг сегодня завтра не напишу пинганите меня ещё раз, пожалуйста.
Олег
05 декабря 2018, 20:40
0
Проблема актуальна.
Олег
04 декабря 2018, 19:32
+1
Насчет content-type я бы глянул в типах содержимого, вдруг он там указан другой для xml.
Вот такой должен быть (сделано точно также)
prntscr.com/lqnf17

По пробелу к сожалению не могу подсказать, но я бы глянул на content-type.
Я попробовал в своем файле добавить пробел, это не помешало распознанию файла.
Олег
04 декабря 2018, 18:43
0
Это все же не XML.
Сайт отдает другой content-type
prntscr.com/lqmpgm
Олег
03 декабря 2018, 21:16
0
Я бы сделал обертку значения, ибо по %52% найдутся и 152 и 524
Олег
03 декабря 2018, 20:37
0
Список фильтров по ТВ, с разделителями AND и OR. Разделитель, указанный в параметре &tvFiltersOrDelimiter представляет логическое условие OR и по нему условия группируются в первую очередь. Внутри каждой группы вы можете задать список значений, разделив их &tvFiltersAndDelimiter. Поиск значений может проводиться в каком-то конкретном ТВ, если он указан «myTV==value», или в любом «value». Пример вызова: &tvFilters=`filter2==one,filter1==bar%||filter1==foo`. Обратите внимание: фильтрация использует оператор LIKE и знак «%» является метасимволом. И еще: Поиск идёт по значениям, которые физически находятся в БД, то есть, сюда не подставляются значения по умолчанию из настроек ТВ.
Соответственно если нужно спользовать лайк нужно делать строку

set $tvFilters = 'committees==%' ~ $_modx->resource.id~'%'
Олег
03 декабря 2018, 20:31
0
$needle = "chat-modUserProfile.internalKey"
"on": "View.thread = Thread.id AND Thread.name = \'"~$needle~"\'"
Олег
03 декабря 2018, 20:24
0
Попробуй так
set $tvFilters = 'committees==' ~ $_modx->resource.id
Посмотри, что в этой переменной, попробуй ее значение руками подставить.

Если несколько вариантов, то можно так:
{set $tvFilters = ''}
{foreach '52||53||54' | split : '||' as $id}
{$tvFilters += ',committees=='~$id'}
{/foreach}
На php и феноме давно не писал, примерная реализация
Олег
03 декабря 2018, 20:20
1
0
Я бы сделал через плагин, что-то навроде
<?php
if(
    $scriptProperties['mode']=='new'
    && $modx->event->name == 'OnBeforeDocFormSave'
    && $resource->get("template") == 7
){
    $resource->set('color', "............");
}
Олег
08 ноября 2018, 21:20
0
Ай, не так прочитал, не 40 строк, а 40 минут. Как это можно было сделать без кода?
Олег
08 ноября 2018, 21:16
0
По времени понятно — я потратил полчаса на создание экспорта по всем правилам авито, но теперь надо писать инструкцию как этим файлом пользоваться, если надо что-то поменять. Я бы скорее купил готовое, чтобы не тратить время.
Жаль, что msImportExport не умеет так из коробки (как с яндексом)

P.S. код занял ровно 40 строк, забавно =)

<?xml version="1.0" encoding="UTF-8"?>
<Ads formatVersion="3" target="Avito.ru">
    {'pdoResources' | snippet : [
        'parents' => 8,
        'tpl' => 'avitoXML',
        'limit' => 0,
        'where' => '{"class_key":"msProduct"}'
    ]}
</Ads>
avitoXML
<Ad>
    <Id>{$id}</Id>
    <Category>Запчасти и аксессуары</Category>
    <TypeId>10-046</TypeId> 
	<AdType>Товар приобретен на продажу</AdType>
    <ContactPhone>+7 -55-22</ContactPhone>
    <ManagerName>Сергей</ManagerName>
    <Region>Москва</Region>
    <Subway>Белорусская</Subway>
    <Title>{$pagetitle}</Title>
    <Description>{$content}
    </Description>
    <Price>{$price}</Price>
    <DateBegin>{$pub_date | date_format:"%Y-%m-%d"}</DateBegin>
    <DateEnd>{$unpub_date | date_format:"%Y-%m-%d"}</DateEnd>
    <RimDiameter></RimDiameter>
    <TireSectionWidth></TireSectionWidth>
    <TireAspectRatio></TireAspectRatio>
    <RimType>Литые</RimType>
    <Images>
        {'!msGallery' | snippet : [
            'tpl' => '@CODE
                {foreach $files as $file}
                    <Image url="{$file.url}"/>
                {/foreach}
            ',
            'product' => $id,
            'limit' => 0
        ]}
    </Images>
</Ad>
Олег
08 ноября 2018, 20:20
0
Хочу готовое решение, как требующее меньше временных затрат, оптимизированное и с интерфейсом, чтобы мог пользоваться кто-то кроме меня.
Чтобы можно было создавать разные настраиваемые шаблоны экспорта и менятьих не зная пыхи.
На самом деле элементарное требование, но последнее время modx все больше расстраивает.
В том числе тем, что ответа на простейший вопрос в сообществе приходится ждать сутки и тот абсолютно не по существу.
Олег
07 ноября 2018, 20:27
+1
Ну проблема очевидно с правами, нужно проверить права на папки, владельцев и группу папки.
Как вариант заглянуть в .htaccess

Лучший вариант вынести сайт и через chown, chmod поиграться с правами и локализовать причину, после чего на бою сделать точную правку.
Олег
27 сентября 2018, 14:39
0
Благодарю за ответ!
А есть какое-то автоматизированное решение для синхронизации?
К сожалению не сталкивался.

Можно, конечно, написать php/shell скрипты, по крону дергать все товары с одинаковым class_key и из одной базы заливать во все остальные, но возникнет проблема с id-шниками, которые разные у разных страниц на всем сайте
Олег
02 марта 2018, 15:44
0
А как это сделано? Я думал писать платные компоненты, но возможность их легкого переноса останавливала.
Гугл меня, похоже, забанил — не дает никакой информации по этому поводу.