Как в подключаемом файле темы определить текущую страницу (продукт, категория и т. д.)
В моей теме в футере подключается файл, в котором я хочу выводить содержимое в зависимости от текущей страницы (главная страница, страница категории, страница продукта, страница отзывов).
Как это однозначно определить?
К примеру переменная $product доступна и в странице самого продукта и в странице отзывов на продукт. Как мне определить что я нахожусь именно на странице отзывов?
Пробовал это делать через глобальные переменные $wa->globals.
Если я присваиваю значение глобальной переменной, к примеру, в product.html :
{$wa->globals("product_page", true)} {$wa->globals("review_page", false)}
потом я c помощью include подключаю reviews.html . И в нем выполню:
{$wa->globals("product_page")|var_dump} {$wa->globals("review_page")|var_dump}
результатом будет NULL NULL.
В чем тогда вообще смысл глобальных переменных?
6 ответов
Используйте переменную $action, примерно так:
или
*посмотрите что выдает данная переменная на интересующих вас страницах и создайте себе нужный набор условий
Дополню Александра.
У меня $action не выводится в product.cart.html, как тогда быть?
а с чего ему там срабатывать? это же подключаемая страница с выводом блока цены и артикулов, зачем там проверка? какая цель преследуется?
Такая ситуация с этим шаблоном может возникнуть только в том случае если шаблон вызван в самостоятельном потоке, а это попытка добавить в корзину товар с несколькими артикулами из категории или главной страницы(или любом другом месте где размещен список товаров).
В этом случае вам нужно самостоятельно передать признак текущей страницы в адресе запроса.
Один из вариантов такой, в файле формирующем список продуктов(обычно list-thumbs.html) есть примерно такая строка:
заменить ее на:
В шаблоне product.cart.html делать проверку:
{wa_tpl_vars} даст вам все переменные в шаблоне.