Всего 117 211 комментариев

Maks
34 минуты назад
0
Через htaccess таким образом
php_value max_execution_time 300
Не получиться увеличить время на обработку?
Константин Ильин
36 минут назад
0
ну тогда надо писать поэтапное обновление, аяксом или сессионно, по 30-50 товаров за проход.
Maks
39 минут назад
0
Получаю на выходе Fatal error: Maximum execution time of 60 seconds exceeded in /core/xpdo/xpdo.class.php on line 2190
Артур
40 минут назад
0
Господа, сохраняйте спокойствие, мы вас услышали, вы впилим Swiper по умолчанию, и расскажем как подключить что-то другое, а дальше сами решайте надо оно вам или нет.
Maks
47 минут назад
0
Тут еще проблема в том что товаров более 5к и вылазит за выделенное время. Увеличил до 60 секунда, максимум но все равно не хватает на обработку данных.
Станислав
55 минут назад
0
Люди в курсе, люди привыкли. Лишать их возможности что то применять в стандартном формате крайне не разумно
Константин Ильин
1 час назад
0
мда…

<?php
$query = $modx->newQuery('msProduct');
$query->select(['msProduct.*']);
$query->where(['class_key' => 'msProduct']);
$query->limit(0);
$resources = $modx->getIterator('msProduct',$query);
foreach ($resources as $resource) {

        // Эти строки не трогайте
        $arr = $resource->toArray();
        $productArray['context_key'] = 'web';
        $productArray['class_key'] = 'msProduct';
        $productArray['alias'] = $arr['alias'];
        $productArray['id'] = $arr['id'];
    
        // Эти строки настраивайте как вам надо
         $productArray['options-available'] = $resource->getTVValue(30);
    
        // Это процессор обновления товара
        $response = $modx->runProcessor('resource/update', $productArray);
}
Лёша
1 час назад
0
У фоторамы последние коммиты на гитхабе были 8 лет назад и она требует jQuery
Maks
1 час назад
0
Спасибо. Но ничего у меня не получается.
<?php
$query = $modx->newQuery('msProduct');
$query->select(['msProduct.*']);
$query->where(['class_key' => 'msProduct']);
$query->limit(0);
$resources = $modx->getIterator('modResource',$query);
foreach ($resources as $resource) {
        $productArray['options-available'] = $resource->getTVValue(30);
        $resource->set('available',$tv_available);
        $resource->save();
}

Сделал так только ничего не получилось. Параметры не перенеслись.
Станислав
1 час назад
0
По моему сугубому мнению, лучше оставить стандартную библиотеку фоторамы с исправлениями, а во вкладку настройки минишопа добавить подключаемые библиотеки любого слайдера и все будут счастливы
Константин Ильин
2 часа назад
0
Примеры я давал, нужно для «Список с автодополнением» передавать массив, а не просто значение
<?
$productArray['tags'] =  ['большие' , 'маленькие'];
$productArray['options-cvet'] = ['белый' , 'кофе', 'серый'];
$productArray['options-napryzhenie'] = ['220' , '320'];
«У вас же заданы конкретные значения для опций, мне же надо эти самые опции вытаянуть из дополнительных полей.»

Ничего трудного же нет в этом, вот чуть просто подумать надо
$productArray['options-available'] = $resource->getTVValue(30);
Просто ведь? да?

Если у вас TV с множеством значений, то его сначала надо разобрать и преобразовать в массив, чтобы условно получилось ['белый', 'кофе', 'серый'] и потом уже присвоить нужной вам опции. Т.е. надо посмотреть что выдает $resource->getTVValue('id или название ТВ') и преобразовать в нужные данные.
Лёша
3 часа назад
0
А что значит «сервис»? У меня в голове только один вариант — вынести в php файл и через require подключить
Дмитрий
5 часов назад
0
{var $migx_videogallery = $_modx->resource['migx_videogallery'] | fromJSON}
{foreach $migx_videogallery as $v}
    {var $v.videogallery = $v.videogallery | fromJSON}
    {if $v.videogallery.video?}
        <div><img width="200" src="{$v.videogallery.image}" /></div>
        <iframe width="200" height="150" src="{$v.videogallery.video}" frameborder="0" allowfullscreen></iframe>
        {if $v.videogallery.title?}
            <div><b>Название:</b> {$v.videogallery.title}</div>
        {/if}
        {if $v.videogallery.desc?}
            <div><b>Описание:</b> {$v.videogallery.desc}</div>
        {/if}
    {/if}
{/foreach}
Вот это куда вставлять? В шаблон getImageList? Вставляю, ничего не выводится. Если этот код вставить вместо getImageList, то тоже пустота. Так-то тип поля videogallery нормально отрабатывает. А вывести не получается. Может быть подскажете что делать?
Евгений
7 часов назад
0
да
сейчас поглядимс
а где смотреть лог?
Роман
8 часов назад
0
У карточек заполнены характеристики?
В catalogFilter нужно добавить &showLog=`1`, чтобы посмотреть, какой запрос идет в базу
Maks
8 часов назад
-1
Достойный ответ. Спасибо. Вместо такого количество букв можно было бы новичку показать как и на примере одного из полей.
Спасибо за помощь всем.
vectorserver
8 часов назад
0
Тебе дали 100500, подсказок, разжевали как могли!
Изучай документацию, и методы работы с компонентом minishop, если не понимаешь что к чему, пиши в раздел modx.pro/work
Евгений
9 часов назад
0
ага, понятно
но оба варианта не работают
$where = $modx->toJSON(array($filter));
заменить на 
$where = $modx->toJSON($filter);
Maks
9 часов назад
0
Я одного не могу понять почему из обычного тв в поле price все прописывается а в поле Список с автодополнением ничего записываться не хочет.

Может за деньги поможете?