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

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

Был в сети 4 часа назад
Заказы принимаю
Отправить деньги
Товар может принадлежать сразу к нескольким категориям и url не поменяется, если вы конечно отдельно товары по акции выводить не будете. Насчёт sitemap не знаю, надо смотреть что там будет, но это тоже можно скорректировать как надо. Ваш вариант по сути тоже самое, только вы вместо подкатегорий создали таблицу с акциями, но как по мне это сложнее, проще использовать уже имеющиеся возможности.
Я бы сделал категорию, в которую добавлял бы товары участвующие в акции, величину скидки можно устанавливать либо через системные настройки, если скидка одна на все товары, либо индивидуально у товара, либо сделать подкатегории по величине скидки. Если акций несколько, то тогда точно нужно создавать категорию и подкатегории с акциями. А потом написал бы сниппет, который запускался бы по cron раз в сутки и проверял бы какие товары пора убирать из акции или какую акцию отключать. Я так делал для всех товаров сайт и для одной акции, поэтому обошёлся без дополнительных категорий.
Это сниппет который запускается по крону
<?php
$snippet = $argv[1]; // этот аргумент содержит название сниппет, который будет работать с акциями
require_once '/home/a/a99963am/art-sites.ru/public_html/config.core.php';
require_once MODX_CORE_PATH.'model/modx/modx.class.php';

$modx = new modX();
$modx->initialize('web');
$modx->getService('error','error.modError', '', '');
echo $modx->runSnippet($snippet);

Вот пример задания для крон SnippetName — имя сниппета для параметра $argv[1]
/usr/local/bin/php5.6 ~/domain.ru/public_html/assets/cron-run-snippet.php SnippetName
А ваш вариант кажется мне избыточно сложным, зачем вам отдельная таблица?
если уж используете fenom проще писать через массивы
{'!mFilter2' | snippet : [
    'parents'   => $_modx->resource.id,
    'includeTVs' => 'brand',
    'where'     => ["TVbrand.value:IN" => $published_brands],
    'class'     => 'msProduct',
    'element'   => 'msProducts',
    'sortby'    => 'editedon',
    'sortdir'   => 'DESC',
    'limit'     => 18,
}
А если очень хочется json
'where'     => '{ "TVbrand.value:IN": ' ~ $published_brands~' }'
Сейчас не понял, а какая связь между мной и msOneClick?))) Это платное дополнение у него на modstore есть поддержка от автора, не лучше ли спросить там? Но если очень хочется спросить именно у меня, то перейдите в мой профиль, там есть кнопка для связи, пишите — отвечу.
Простите, ввел вас в заблуждение, чтобы установить дату рождения надо её из строкового формата перевести или в объект даты, либо в штамп времени. А сейчас он у вас не понимает что вы хотите и ставит 01.01.1970 Как это через Login сделать не знаю. Я сам пишу этот функционал, благо там несложно. А вообще почитайте документацию по Login может там что-то есть.
Задача прям так и была поставлена: вывести другую переменную в админке там где выводиться общая сумма заказа? Вы понимаете что изложили не задачу, а решение, Ваше решение, которое, возможно, не самое лучшее. Ведь если нужно выводить вместо общей суммы, что-то другое, то хочется знать что именно? И почему например нельзя модифицировать общую сумму? Или почему для этой переменной не использовать дополнительно созданное поле?