Евгений

Евгений

С нами с 21 октября 2019; Место в рейтинге пользователей: #2893
Евгений
18 мая 2023, 14:42
0
Добрый день, есть реализация на эту тему, корзину формируем в свою таблицу при нажатии на кнопку купить. ну и отдельны сниппет на вывод таблицы.
Евгений
20 марта 2023, 15:15
0
Добрый день, компонент в корзине работает, но что делать если корзина вызывается с любой страницы по ajax в модальное окно бутсрапа, в такм случае скрипты не отрабатывают. подскажите как сделать по фэншую, чтобы скрипты отрабатывали.
Евгений
02 марта 2023, 20:54
0
например основные фото и фото покупателей. просто хотелось бы грузить через админку тоже и через стандартный интерфейс, но вот группу задать негде. наверное один из вариантов использовать префикс файла в качестве группы, тогда можно и через админку управлять
Евгений
25 января 2023, 10:39
0
Долго искал, в итоге написал свое, тк есть много подводных камней, одно из них кэширование. если говорим про минишоп2, то там еще больше камней. вобщем сделал свои табшлицы, администрирование таблиц через админку при помощи migx, + доработал кэш. поддомены делают для увеличения трафика, какой трафик планируется?
Евгений
08 декабря 2022, 14:36
0
в кастом фильтре сделал return $mysort.«cast(`op`.`price` as SIGNED) asc»;
Евгений
08 декабря 2022, 14:24
0
ну если решать через параметры сниппета
то было $filter_result['sort'] = 'mo|weight:asc'; тут кстати цену продублировал в поле вес, и сортирую по нему

а так не работает
$filter_result['sort'] = 'cast(mo|price as SIGNED):asc';
Евгений
28 ноября 2022, 09:54
0
$filter_result['innerJoin'] = '{
                "op":{
        "class":"msopModification",
                    "on":"op.rid = msProduct.id "
                },
        "o":{
                "class":"msopModificationOption",
                "on":"o.rid = msProduct.id AND o.mid = op.id AND o.key = \'size\' and o.value=\'50\'"
            }                
            }';
    $filter_result['sort'] = 'mo|price:asc';
сделал так, inner join двух таблиц, т.к. msopModification содержит цену, а msopModificationOption опцию, что конечно не очень удобно
Евгений
21 ноября 2022, 10:44
0
тут modx.pro/components/10835 писали что есть такая проблема при множественном удалении, но Василий не отреагировал.

переписал на удаление по одному, все работает. может кому то пригодится:

$images = $this->modx->getCollection('msProductFile', array('type' => 'image', 'product_id' => $id));
        $ids = array();
        foreach ($images as $image) {

            $ids[] = $image->get('id');

            $response = $this->modx->runProcessor('gallery/multiple',
                array(
                    'method' => 'remove',
                    'ids' => json_encode($image->get('id')),
                ),
                array('processors_path' => MODX_CORE_PATH.'components/minishop2/processors/mgr/')
            );
            if ($response->isError()) {
                die("imageserror ".$image->get('id')." ".$response->getMessage());
            }
        }
Евгений
16 ноября 2022, 11:41
0
зато быстро и надежно, ничего не сломается после обновления
Евгений
15 ноября 2022, 12:03
0
ну да, генерировать токен, передавать его в заголовке а дальше выбирать конкретного пользователя

пример выше работает только после перезагрузки страницы.
этот способ работает сразу.
Евгений
09 ноября 2022, 20:46
0
все зависит от задачи, универсальной таблетки нет.
Евгений
09 ноября 2022, 12:47
0
если get параметр задан явно в строке фильтра, то все корректно работает. а если заполнять в скрипте, типа $_GET['visota'] = $_REQUEST['visota'] = '1,10'; то js не отрабатывает(
Евгений
09 ноября 2022, 11:51
0
я просто понять не могу откуда js берет эти значения для инициализации ползунка
Евгений
09 ноября 2022, 00:27
0
можно решить через кастом фильтр, но выставление значений слайдера всеравно не работает, как туда приходят параметры пока не понял
Евгений
08 ноября 2022, 21:57
0
управляется через js, а select нет, так что слайдер сам себя не выставит
а как туда параметры передать?
Евгений
08 ноября 2022, 21:54
0
если в фильтре выставить слайдер 1-10 то GET в url ?visota=1,10
Т, Е при наличии именно гет параметра все работает как надо

но если вызвать $_GET['visota'] = $_REQUEST['visota'] = '1,10';
то фильтр применяется по значения на ползунке не встают. (
Евгений
07 ноября 2022, 09:16
0
Добрый день, такая же проблема, значение не пустое, а все равно ошибка есть. так то все правильно работает, но ошибка в логах напрягает
Евгений
06 ноября 2022, 21:28
0
вот кстати стек трейс распечатал
string(1666) "#0 /usr/share/nginx/www/core/xpdo/xpdo.class.php(1236): xPDO->loadClass('minishop2', '', false, true)
#1 /usr/share/nginx/www/core/components/minishop2/model/minishop2/mspayment.class.php(23): xPDO->getService('miniShop2')
#2 /usr/share/nginx/www/core/xpdo/xpdo.class.php(788): msPayment->__construct(Object(modX))
#3 /usr/share/nginx/www/core/xpdo/om/xpdoobject.class.php(319): xPDO->newObject('msPayment_mysql')
#4 /usr/share/nginx/www/core/xpdo/om/xpdoobject.class.php(370): xPDOObject::_loadInstance(Object(modX), 'msPayment', Object(xPDOQuery_mysql), Array)
#5 /usr/share/nginx/www/core/xpdo/om/xpdoobject.class.php(494): xPDOObject::_loadCollectionInstance(Object(modX), Array, 'msPayment', Object(xPDOQuery_mysql), Array, false, true)
#6 /usr/share/nginx/www/core/xpdo/xpdo.class.php(761): xPDOObject::loadCollection(Object(modX), 'msPayment', Object(xPDOQuery_mysql), true)
#7 /usr/share/nginx/www/core/xpdo/xpdo.class.php(867): xPDO->call('msPayment', 'loadCollection', Array)
#8 /usr/share/nginx/www/core/xpdo/cache/xpdocachemanager.class.php(1037): xPDO->getCollection('msPayment')
#9 /usr/share/nginx/www/core/xpdo/cache/xpdocachemanager.class.php(70): xPDOCache->isInitialized()
#10 /usr/share/nginx/www/core/xpdo/cache/xpdocachemanager.class.php(733): xPDOCacheManager->getCacheProvider('system_settings', Array)
#11 /usr/share/nginx/www/core/model/modx/modx.class.php(2641): xPDOCacheManager->get('config', Array)
#12 /usr/share/nginx/www/core/model/modx/modx.class.php(1440): modX->_loadConfig()
#13 /usr/share/nginx/www/core/model/modx/modx.class.php(555): modX->getConfig()
#14 /usr/share/nginx/www/index.php(50): modX->initialize('web')
#15 {main}"
Евгений
04 ноября 2022, 12:59
0
вобщем они идут сразу после очистки кэша, а потом перестают)
Евгений
04 ноября 2022, 12:14
0
minishop2-2.9.3-pl обстоятельства не ясны, скорее всего в каталоге срабатывает