Svetlana S

Svetlana S

С нами с 12 февраля 2016; Место в рейтинге пользователей: #415
Svetlana S
10 октября 2020, 20:23
1
0
Хм, сейчас вспомню)

В файле core/components/msync/model/msync/msynccataloghandler.class.php на 1383 строчке добавила в событие mSyncOnPrepareProduct параметр — id товара, его там, вроде, не было:

$this->log("Вызвано событие mSyncOnPrepareProduct для товара с uuid={$productData['uuid']}", 1);
        $response = $this->msync->invokeEvent('mSyncOnPrepareProduct', array(
            'data' => $productData,
            'parent' => $categoryId,
            'properties' => $properties,
            'custom_id' => $productId,
        ));
Затем плагин переписала так:

$eventName = $modx->event->name;

if ($eventName == 'mSyncOnPrepareProduct') {
    
    if (!empty($data['images']) && !empty($custom_id)) {
        $id = (int) $custom_id;
        
        $images = $modx->getCollection('msProductFile', ['product_id' => $id]);
        
        if (!empty($images)) {
            foreach($images as $image) {
                $image->remove();
            }
        }
    }
}
Проверяем, есть ли в полученных данных новые картинки у товара, и, если есть хотя бы одна, удаляем старые. Править исходники плохо, но пока получилось только так) Так что при обновлении компонента придется вставлять строчку заново.

На сайте с 10 000 товаров все работает. Только, если много товаров, сайт лучше разворачивать на модхосте, с хорошим запасом свободного места)
Svetlana S
13 июля 2020, 16:14
0
Событие, конечно же, включено. Плагин срабатывает — из-за этого выгрузка обрывается, и все. Картинки не обновляются, в логах никаких ошибок нет. Видимо, просто что-то не правильно в плагине. В документации к mSync написано, что $properties — это свойства товара. Как поточнее посмотреть — понятия не имею( Код mSync довольно сложный, разбитый на множество файлов, так и не нашла в них, где это событие вызывается
Svetlana S
15 мая 2020, 11:11
+1
Речь об этом? https://modx.pro/help/10592
Вообще можно написать свой сниппет, через xPDO вытащить опции товара и сделать с ними все, что угодно) По работе с xPDO Илья Уткин в свое время написал хороший мануал) Объектная модель минишопа
Svetlana S
12 ноября 2019, 16:33
0
Они там так и написаны. Разделитель у опций не настраивается)
Svetlana S
22 августа 2019, 08:57
0
Спасибо.

Было бы здорово создать системные настройки с указанием списков доступных полей ресурса и чанков для вывода фильтров, чтобы не выводилось лишнее. Вряд ли кому-то захочется фильтровать ресурсы по alias_visible или link_attributes)
Svetlana S
19 августа 2019, 10:37
0
Здравствуйте.
Как я поняла, для фильтрации через mFilter2 можно указывать любое поле — свойство товара, опцию, тв? И еще вопрос — сможет ли менеджер настаивать внешний вид фильтра — слайдер или чекбокс например?
Svetlana S
11 июля 2019, 10:55
0
Здравствуйте. Подскажите пожалуйста, как подключить цвета ral
Svetlana S
10 июня 2019, 10:36
0
Здравствуйте. При вводе купона в корзине не меняется цена, хотя скрипт добавила. Версия минишопа 2.4.18, msDiscount 1.3.10. Судя по файлам, нужные изменения в этой версии минишопа есть, правда, файлы выглядят уже немного иначе) Не нужно ли еще в них что-то добавить?
Svetlana S
05 июня 2019, 12:40
0
Здравствуйте. Подскажите, пожалуйста, есть ли сейчас у компонента возможность реализовать скидки на доп. товары? Если есть, как их можно прописать?
Svetlana S
20 июня 2017, 15:11
0
Извините. Самостоятельно — это само собой)
Svetlana S
20 июня 2017, 15:02
0
Если у Вас есть время… Может, напишете пример? Для всех, кому, как и мне, интересно знать такие вещи?)
Svetlana S
20 июня 2017, 14:51
0
Я думала, есть способ обойтись без вложенных вызовов) Спасибо за ответ)
Svetlana S
20 июня 2017, 14:37
0
По-видимому, копать нужно отсюда bezumkin.ru/training/course2/3006/ Раньше у описания msGallery на modstore, кажется, был нужный пример вывода через pdoResources. Но его я не помню) Пока отложила для себя эту проблему до тех времен, когда получше разберусь с API
Svetlana S
24 сентября 2016, 18:59
0
Если еще актуально — скайп rassvetnaya84
Svetlana S
27 июня 2016, 12:59
+1
Здравствуйте. Можно узнать подробнее о уровне сложности задач? Если не нужно писать свои сниппеты — я могу взяться)
Svetlana S
05 апреля 2016, 11:21
0
Привет. Пиши: erleanta@mail.ru
Svetlana S
18 февраля 2016, 09:16
0
Спасибо!
Svetlana S
15 февраля 2016, 09:15
0
Здравствуйте. Хотелось бы узнать подробнее. Если исполнитель не найден, напишите: erleanta@mail.ru