воскресенье, 6 октября 2019 г.

Скрыть/показать пункт меню по времени на сайте Joomla

Бывает, какие-то товары продаются по акции «Счастливые часы». Эти товары в определённом пункте меню. Нет смысла показывать этот пункт, когда время не актуально.
Минимальная правочка шаблона добавит css стиль в нужное время, чтобы скрыть ненужный пункт меню.
Совсем выключать товары не надо, чтобы поисковики не кипишили )
Пусть они будут доступны по своим url, но в меню показывать  пункт не будем.

Во-первых, в шаблоне должна быть $doc

$doc = JFactory::getDocument();

И во-вторых, потом перед закрытием </head> добавляем:

<?php
  date_default_timezone_set(JFactory::getConfig()->getValue('offset'));
  if (date('H') < 12 || date('H') > 16) $doc->addStyleDeclaration('li.item-253 {display: none !important;}');
?>
Тут, как Вы понимаете, 12-16 - интервал времени, в течение которого скрывать пункт не надо, т.е. акция действует.
253 - это id пункта меню. Можно подобрать и другой селектор css.
Часовой пояс берётся из общих настроек сайта.

Комментариев нет:

Отправить комментарий