Помогите сократить запись на феном.
Всем привет. Подскажите как можно сократить запись:
разные отделы продают разные товары, у них разные телефоны. задача чтобы для отдельной категории и всех её дочерних категорий и товаров показывался телефон 999999999999, для остальных телефон 1111111111111.
Пробовал такой вариант:
Структура такая:
{if $_modx->resource.id==17 OR $_modx->resource.parent==17 OR $_modx->resource.id==358 OR $_modx->resource.parent==358 OR $_modx->resource.parent==39 OR $_modx->resource.parent==40 OR $_modx->resource.parent==41 OR $_modx->resource.parent==42 OR $_modx->resource.parent==43 OR $_modx->resource.parent==44 OR $_modx->resource.parent==406 OR $_modx->resource.parent==407 OR $_modx->resource.parent==408 OR $_modx->resource.parent==409 OR $_modx->resource.parent==410 OR $_modx->resource.parent==411}
<a href="tel:+999999999999"> <i class="fa fa-phone"></i> 999999999999</a>
{else}
<a href="tel:+1111111111111"> <i class="fa fa-phone"></i> 1111111111111</a>
{/if}Суть такая:разные отделы продают разные товары, у них разные телефоны. задача чтобы для отдельной категории и всех её дочерних категорий и товаров показывался телефон 999999999999, для остальных телефон 1111111111111.
Пробовал такой вариант:
{if $_modx->resource.id in list $_modx->getChildIds(17,2)}но не получается привязать аналогичный ресурс из другого контекста, 358й, и работает он только для дочерних, текущий не учитывает…Структура такая:
Комментарии: 18
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
на сколько я момню для getChildIds необходимо указывать контекст, а контексты у тебя там разные
работает если писать «in list», но видит дочерние документы только второго уровня вложенности, первый уровень не работает (на товарах меняет телефон, а на подкатегориях нет))
но хотелось бы так, что бы не указывать дочерние ресурсы 39,40,41,42 и.т.д. прямо, так как категории могут добавляться… а указать самые родительские 17 и 358 и от них уже плясать..)
Сниппет примерно такой allParents:
Вызов примерно так:
Прошу прощения не проверял. Возможно ошибки.
изначально хотелось упростить)
Всем огромнейшее спасибо!)
Если правильно понял этот код, тогда везде выводится 1111111111111, кроме каталога и товаров внутри.
Так? Тогда в в шаблоне каталога и товара написать нужный номер и всё.
В Феном есть наследование шаблонов.
а в смысле в шаблоне каталога и товара?
у меня это шаблон тоже состоит из частей, телефоны находятся в шапке и футере, это чанки header и footer, которые одинаковые для всех шаблонов.
вот код шаблона для категории например:
а для товара используется вообще базовый шаблон:
Базовый шаблон:
Шаблон каталога/товара:
А в шапке (base_header.tpl) вставить в нужное место {$config.phone}
Контексты — это что? Это просто разные языки (т.е. в контекстах товары дублируются, но на разных языках)?
Или контексты — это разные отделы, о которых идет речь (разные телефоны)?
Или каждая категория — это разный отдел?
Или как?
Если структура такая:
Тогда можно сделать ТВ у каталога и в шаблоне написать просто:
На картинке не понятно какой из ресурсов является отдельным отделом, для которых нужен отдельный телефон.
Судя по коду вообще все ресурсы, которые на картинке должны иметь один и тот же телефон, а остальные другой.