Контексты, Fenom, Babel
Друзья и снова здравствуйте!
И снова вопрос с целью упростить будущую жизнь себе и тем кто может работать дальше с проектом.
Реализовал проект с мультиязычностью, Babel, Fenom и все прелести жизни. В виду острой нехватки времени и опыта для каждого из шаблонов реализовал отдельные шаблоны в которых внёс изменения поменял ссылки и кажется был доволен, но уже на первых же правках хотелось себя убить за то решение. В связи с чем постепенно перевожу всё в единые шаблоны. Изучил лексиконы, пространства имён, if в феноме конечно же спасает, но столкнулся с такой ситуацией:
Есть кусок шаблона который выглядит вот так:
используя:
Если много, т.е. для каждой ссылки мы получаем «кавардак» и всё это сложновато становится читать и воспринимать.
А Если для всего блока, то в дальнейшем мы имеем все шансы просто забыть или не знать что там ниже где то else и тоже надо бы поправить что то.
Есть ли варианты вывода которые были бы и читаемы и не требующие дублирования кусков html.
Возможно моё решение в целом не верно, буду рад советам и напутствиям!
Спасибо!
И снова вопрос с целью упростить будущую жизнь себе и тем кто может работать дальше с проектом.
Реализовал проект с мультиязычностью, Babel, Fenom и все прелести жизни. В виду острой нехватки времени и опыта для каждого из шаблонов реализовал отдельные шаблоны в которых внёс изменения поменял ссылки и кажется был доволен, но уже на первых же правках хотелось себя убить за то решение. В связи с чем постепенно перевожу всё в единые шаблоны. Изучил лексиконы, пространства имён, if в феноме конечно же спасает, но столкнулся с такой ситуацией:
Есть кусок шаблона который выглядит вот так:
<div class="content__item content__item1">
<a href="{$_modx->makeUrl(2)}" class="content__heading content__heading--1">{'gg_about' | lexicon}</a>
<a href="{$_modx->makeUrl(2)}" class="content__heading-a">
<p>{2 | resource : 'introtext'}</p>
</a>
<span class="content__more2"> {'gg_more' | lexicon}</span>
<a href="{$_modx->makeUrl(2)}" class="content__more"> {'gg_more' | lexicon}</a>
</div>
<div class="content__item content__item2">
<a href="{$_modx->makeUrl(4)}" class="content__heading content__heading--2">{'gg_invest' | lexicon}</a>
<a href="{$_modx->makeUrl(4)}" class="content__heading-a">
<p>{4 | resource : 'introtext'}</p>
</a>
<span class="content__more2"> {'gg_more' | lexicon}</span>
<a href="{$_modx->makeUrl(4)}" class="content__more"> {'gg_more' | lexicon}</a>
</div>
<div class="content__item content__item3">
<a href="{$_modx->makeUrl(3)}" class="content__heading content__heading--3">{'gg_trade' | lexicon}</a>
<a href="{$_modx->makeUrl(3)}" class="content__heading-a">
<p>{3 | resource : 'introtext'}</p>
</a>
<span class="content__more2"> {'gg_more' | lexicon}</span>
<a href="{$_modx->makeUrl(3)}" class="content__more"> {'gg_more' | lexicon}</a>
</div>т.е. идёт вызов большого кол-ва ссылок в разных блоках, кнопках, заголовках в разных местах.используя:
{if $_modx->context.key == 'web'}
{else}
{/if}Попробовал два варианта, грубо говоря один if и много:Если много, т.е. для каждой ссылки мы получаем «кавардак» и всё это сложновато становится читать и воспринимать.
А Если для всего блока, то в дальнейшем мы имеем все шансы просто забыть или не знать что там ниже где то else и тоже надо бы поправить что то.
Есть ли варианты вывода которые были бы и читаемы и не требующие дублирования кусков html.
Возможно моё решение в целом не верно, буду рад советам и напутствиям!
Спасибо!
Комментарии: 12
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
В разных контекстах ссылки тоже разные?
Как вариант — сделать это несколькими чанками, тогда сразу будет видно, как устроена логика.
Много if к каждому {$_modx->makeUrl(4)} и т.п.
pg_catalog = 2
pg_news = 4
и т. д.
Тогда можно будет сделать так:
Если у вас нет такой ошибки, напишите свои настройки второго контекста, а также плагин, которым это всё подключается, пожалуйста.
Настройки: joxi.ru/12MEVedf4QqN52
Плагин:
А в .htaccess что у вас или вы nginx пользуетесь?
А вот на тесте:
А как реализовать данное решение с контекстами и разными id ссылок у контекстов?
Там без подобных условий:
Значения подтягиваются автоматом из настроек конкретного контекста.
Я там только в начале опечатался, сорри. Должно быть так:
В настройках контекста создать переменную, пусть будет ctx_res, в которой через запятую перечислить все требуемые id.
Алиасы ресурсов привести в соответствие.
И вывести, например, через pdoMenu