Артур Шевченко

Артур Шевченко

С нами с 24 мая 2019; Место в рейтинге пользователей: #6
Отправить деньги
Артур Шевченко
15 декабря 2020, 16:08
0
Понятно, в логах что-то есть? Вы проверяли плагин вообще отрабатывает? Что в него приходить? Что он отдает? Если нет, то очищаете журнал ошибок, потом меняете код плагина так
switch ($modx->event->name) {
    case "xLikeOnVote":
        $modx->log(1, 'Смотрим что в class пришло ' . $class);
         $modx->log(1, 'Смотрим что в list пришло ' . $list);
        if ($class == 'modResource' && $list == 'default') {
            if ($resource = $modx->getObject($class, array('id' => $parent))) {
                $modx->log(1, 'Проверяем дошли ли мы до этой строки и что в rating ' . $rating);
                $resource->setTVValue('rating', $rating);
                $resource->save();
            }
        }
        break;
}
И смотрите что будет в журнале ошибок после того как отработает плагин.
Артур Шевченко
15 декабря 2020, 13:38
0
В плагине переменные class, list, rating откуда появились?
Артур Шевченко
15 декабря 2020, 13:33
0
В minishop2 можно создавать свои опции, TV к ним никакого отношения не имеют.
Артур Шевченко
15 декабря 2020, 00:47
0
Заявлялось, о это не точно, что до 10 000 товаров работает нормально, и для нормального отображения важно не только ограничить количество товаров к категории, но и не выводить их все разом на странице, т.е. использовать либо ajax либо пагинацию. Это было про фильтры. Что до mSync, то проблемы могут быть только при первой синхронизации, т.к. хостинг ограничивает время работы скриптов и как правило это 60 сек, а за это время 40 000 товаров не загрузить, поэтому возможно придется делать несколько выгрузок.
Артур Шевченко
14 декабря 2020, 02:14
0
Это хорошо для юзабилити, я бы не дал, но рядовой пользователь не поймёт, что файлы загружаются, если не показать процесс)))
Артур Шевченко
13 декабря 2020, 15:07
0
А можете пояснить для чего data-data-type=«resource» и data-data-key=«9»? Особенно data-data-key почему именно 9?
Артур Шевченко
13 декабря 2020, 05:01
+1
Для начала можно в Гугле посмотреть о чём вообще речь. Через консоль в админке попробовать сменить, а если не получится тогда к хостеру за советом. Мне данный алгоритм всегда помогает;-)
Артур Шевченко
13 декабря 2020, 03:43
0
Надо смотреть код, возможно там вызывается стандартный процессор и тогда вызывается стандартное событие OnUserProfileSave, и можно написать плагин, который будет из $_FILE брать файл, загружать его на сервер и вставлять путь к нему в extended. Как загружать файлы можешь глянуть тут там про FormIt но суть одна.
Артур Шевченко
12 декабря 2020, 11:39
0
Решил. Проверьте чтобы в настройках БД было так sql_mode=only_full_group_by.
Артур Шевченко
10 декабря 2020, 19:39
0
А чем именно он будет неудобен? Место в админке будет занимать)))
Артур Шевченко
10 декабря 2020, 19:06
+1
Если охота прям заморочиться, тогда
$tv = json_decode($resource->getTVValue('migxtvname'),1);
$tv['date'] = '';
$resource->setTVValue('migxtvname', json_encode($tv, JSON_UNESCAPED_UNICODE));
$resource->save();
Я написал на один элемент, вообще надо конечно в цикле, т.е. $tv это массив и по нему надо пройти в цикле и сравнивать даты и дальше по вашей логике, НО я бы просто сделал отдельный раздел с ресурсами и и использовал возможность автоматического снятия с публикации, на вкладке Настройки любого ресурса есть поле Дата отмены публикации.
Артур Шевченко
10 декабря 2020, 17:48
0
Опишите задачу, а не ваше решение, если хотите развернутый ответ. А так удалить значение TV можно просто его затерев
$resource->setTVValue('tvname', '');
$resource->save();
Артур Шевченко
09 декабря 2020, 10:54
+1
Сделай выборку по родителю
$products = $modx->getColection('msProduct', array('parent' => id'));
...
Или по нескольким
$products = $modx->getColection('msProduct', array('parent:IN' => [id1,id2,id3]));
Артур Шевченко
09 декабря 2020, 10:51
0
FormIt он под Fenom не заточен, это минус, поэтому от себя могу посоветовать попробовать такой вызов
{$_pls['fi.id']}
Артур Шевченко
08 декабря 2020, 16:57
0
Просто создать ТВ не получается? А потом вот так
<img src="[[*img]]" alt="[[*alt]]">
Артур Шевченко
08 декабря 2020, 16:36
0
Если есть доступ в БД зайдите в неё и посмотрите где лежит нужная информация. Ищите таблицы у которых вторым префиксом идёт ms2_
ms2_products
ms2_product_categories
ms2_product_files
ms2_product_options
ms2_product_links
Соответственно делаете запрос в старую базу, потом результат кладёте в новую, только с файлами будут сложности, поскольку на новом сайте будут новые id у товаров.
Артур Шевченко
08 декабря 2020, 16:29
+1
$products = $modx->getColection('msProduct');
foreach($products  as $p){
    $pagetitle = $p->get('pagetitle');
    $longtitle = $p->get('longtitle');
    $size = $p->get('size');
    $p->set('pagetitle', $pagetitle . ' ' . $size);
     $p->set('longtitle', $longtitle . ' ' . $size);
    $p->save();
}
Код выполнить в консоли.
Артур Шевченко
08 декабря 2020, 16:24
0
Если этот вызов работает
[[!str? &str= {
текст| 
текст2|
текст3|
тест4
}
]]
То возможно стоит попробовать вот так
[[!str? &str= `{
текст| 
текст2|
текст3|
тест4
}
{
текст| 
текст2|
текст3|
тест4
}`
]]
Если я конечно правильно понял принцип работы сниппета.
Артур Шевченко
08 декабря 2020, 16:19
0
Переписал, надеюсь стало немного лучше.