Переключение опции в зависимости от дня недели
Доброго времени суток. Может кто подскажет как решить задачку. Система: MODX и Minishop2
Имеем: например 100 товаров и 5 из них с допполем disableOrder (радиокнопка) и значением Вкл/Выкл. В определенный день недели для заказа доступен только один из этих 5 товаров (т.е. параметр стоит в положении Вкл, остальные Выкл). На текущий момент переключается это всё ручками, наступил следующий день -> захожу в предыдущий товар, отключаю -> захожу в товар, который должен быть сегодня для заказа -> включаю. При этом — в зависимости от статуса disableOrder кнопка «Заказать» меняется на «Недоступно» и отключается функционал добавления в корзину (т.е. простым условием подменяется на кнопку пустышку без функционала). При этом сами товары видны, но заказать товар нельзя. Можно ли это дело автоматизировать?
Из фенома можно изменить значение допполя (TV)?
Например:
загнать в переменную текущую дату
Заранее благодарю за ответы или наводки на реализацию чего-то похожего.
Имеем: например 100 товаров и 5 из них с допполем disableOrder (радиокнопка) и значением Вкл/Выкл. В определенный день недели для заказа доступен только один из этих 5 товаров (т.е. параметр стоит в положении Вкл, остальные Выкл). На текущий момент переключается это всё ручками, наступил следующий день -> захожу в предыдущий товар, отключаю -> захожу в товар, который должен быть сегодня для заказа -> включаю. При этом — в зависимости от статуса disableOrder кнопка «Заказать» меняется на «Недоступно» и отключается функционал добавления в корзину (т.е. простым условием подменяется на кнопку пустышку без функционала). При этом сами товары видны, но заказать товар нельзя. Можно ли это дело автоматизировать?
Из фенома можно изменить значение допполя (TV)?
Например:
загнать в переменную текущую дату
{set $ndt = '' | date : 'D'}и условием проверить, если текущий день Mon, то… во тут затык. как через феном добрать до ресурса с определенным ID и установить значение disableOrder в 0 (т.е. Выкл)? Такое вообще возможно или же есть более простые способы?Заранее благодарю за ответы или наводки на реализацию чего-то похожего.
Комментарии: 6
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
2. Запускаем сниппет msProduct с условием where, где проверяем этот tv на текущий день недели (функция date, format=N).
www.php.net/manual/ru/function.date.php
PS. Там вообще немного сложнее условие, пример: товар1 доступен для заказа только в понедельник с 12:00 до 16:00. В остальные дни и время они доступен для просмотра, но кнопка «Заказать» в нем действовать не должна. но мне хотябы понять как отключать его хотябы по одному параметру, а дальше я уже думаю, что пойму как переключать при соблюдении 2х суловий.
Запускаете скрипт по расписанию и меняете в нем у товаров что пожелаете.
Делаем tv поле флажками со значениями от 1 до 7 и назовем например его day_of_sale. И в чанках вывода товаров используем
И еще по хорошему добавить такое же условие в плагин на событие msOnBeforeAddToCart, если покупка идет через минишоп, чтобы нельзя было вообще в корзину добавить товар
Все условия, естественно, можно сделать сложнее и любыми, но общий посыл думаю ясен.
товар1 доступен для заказа только в понедельник до 16:00.