Fullstack

Fullstack

С нами с 13 апреля 2017; Место в рейтинге пользователей: #123
Fullstack
13 ноября 2020, 14:32
0
Финальный вариант плагина.
Я бы еще не заполнял к нему описание. Мало ли дело было в нём…

Добавил на всякий случай еще одно событие. Сейчас все работает:

<?php
$eventName = $modx->event->name;
switch ($eventName) {

    case 'OnMODXInit':
    case 'OnBeforeManagerPageInit':
    case 'OnManagerPageInit':
    case 'OnWebPageInit':
        // Загружаем в модель продукта поле bitrix_id
        $modx->loadClass('msProductData');
        $modx->map['msProductData']['fields']['bitrix_id'] = null;
        $modx->map['msProductData']['fieldMeta']['bitrix_id'] = array(
            'dbtype' => 'int',
            'precision' => 10,
            //'attributes' => 'unsigned',
            'phptype' => 'integer',
            'null' => true,
            'default' => null,
        );
    	break;

}
Fullstack
13 ноября 2020, 14:08
0
Хотя нет! При сохранении некоторых ресурсов такая же фигня!
Я не могу…
Fullstack
13 ноября 2020, 13:52
0
Решил! Надо было использовать другой класс и другое событие.
Вот готовый и рабочий вариант:

<?php
$eventName = $modx->event->name;
switch ($eventName) {

    //case 'OnMODXInit':
    case 'OnBeforeManagerPageInit':
        // Загружаем в модель продукта поле bitrix_id
        $modx->loadClass('msProductData');
        $modx->map['msProductData']['fields']['bitrix_id'] = null;
        $modx->map['msProductData']['fieldMeta']['bitrix_id'] = array(
            'dbtype' => 'int',
            'precision' => 10,
            //'attributes' => 'unsigned',
            'phptype' => 'integer',
            'null' => true,
            //'default' => null,
        );
    	break;

}
Fullstack
13 ноября 2020, 13:21
0
Присоединяюсь! У нас не сохраняются продукты в modx_ms2_products из-за того, что в таблицу в кастомное поле bitrix_id все время пишется 0, а ноль — это дубликат (ведь поле является ключом-индексом), из-за чего продукт просто не вставляется! Хотя в БД это поле по умолчанию NULL. Попробовал расширить модель, не помогло:

$eventName = $modx->event->name;
switch ($eventName) {

    case 'OnMODXInit':
        // Регистрируем поле bitrix_id в модели продукта
        $modx->loadClass('modProduct');
        $modx->map['modProduct']['fields']['bitrix_id'] = null;
        $modx->map['modProduct']['fieldMeta']['bitrix_id'] = array(
            'dbtype' => 'int',
            'precision' => 10,
            //'attributes' => 'unsigned',
            'phptype' => 'integer',
            'null' => true,
            'default' => null
        );
    	break;

}
Fullstack
24 сентября 2020, 13:18
0
regClientScript + document ready привели к результату) Спасибо большое. Видимо JS-овский «DOMContentLoaded» и jQuery-евский «document ready» отличаются работой в браузере
Fullstack
23 сентября 2020, 12:14
0
Почему тогда не работает то, как оно сейчас есть? В HTML-коде есть коллбэк, и при том JS до него доходит: если перед регистрацией коллбэка поставить консоль-лог, то он выведется
Fullstack
13 мая 2020, 14:38
0
Как формируется читал, просто там не было пояснения, как его правильно сформировать, и вот в только этой теме вы как раз дали ответ.

Но к сожалению не сработало, MD5 суммы отличаются. {$key} товара с одной хеш-суммой, а в коллбэке вернулась другая
Fullstack
16 мая 2018, 01:59
0
Попробовал прописать настройки сайта и в главном контексте, только тогда заработало. А без этого MODX'у чет никак. Надо обязательно глобальные настройки в контексте дублировать. Хорошо хоть только site_url/base_url и culture_key
Fullstack
05 мая 2018, 05:58
0
При отладке сниппета понял, что MODX возвращает неверный modContext. Что за мистика, почему так?
$context = $modx->getObject('modContext', array('key' => 'web'));
Fullstack
02 мая 2018, 06:42
0
А если я перейду в саму «Мужскую парфюмерию», он почему-то выводит товары вместо брендов
Fullstack
02 мая 2018, 06:36
0
Так структура такая:
Каталог > Бренд > Товар
(Мужская парфюмерия > Dior > Fahrenheit)

Товары скрыты в дереве. Но «бренды» в «каталоге» нет — вот их я и не могу раскрыть
Fullstack
02 мая 2018, 06:26
0
Да, это то, чего не хватало MODX'у.

Но.

У ресурса каталога я не могу выбрать тип «Коллекция», потому что это не простой «Документ», а «Категория товаров». Если я выберу «Коллекцию», то он перестанет быть «Категорией товаров» miniShop2
Fullstack
30 марта 2018, 06:25
0
Написал вам на E-mail
Fullstack
30 марта 2018, 01:53
0
Может кто-то реализовывал?

И еще вопрос: как можно написать непосредственно разработчику?
Fullstack
22 марта 2018, 03:05
0
Я кажется понял, это из-за нагрузки. Даю 99%.

Такая проблема была в одном скрипте даже когда я вообще не использовал в нем никак MODX. Имхо MODX'ная страница просто настроена клиентом у хостера и это именно хостер ее отдает
Fullstack
22 марта 2018, 02:23
0
Я не задавался этим вопросом, поэтому всегда в шутку читал это как «Польша» :)

Меня больше интересует, почему «transport». Нет бы просто name-1.0.0.zip, надо обязательно дописать Польшу и транспорт :D