Подскажите направление решения задачи!
Всем привет!
Возникла задача, ни когда с такой не сталкивался, даже не пойму с чего начать.
В общем есть сайт на котором следующая структура:
1) на станице ресурса Категории-1, так же выводился блок с «публикациями» и блок «примеры работ» относящиеся к «Категории-1»
С чего начать, где копать, какие компоненты использовать, даже представить не могу…
Возникла задача, ни когда с такой не сталкивался, даже не пойму с чего начать.
В общем есть сайт на котором следующая структура:
Услуги
Категория-1
Категория-2
Категория-3
Публикации
Раздел (Категория-1 услуг)
Тикет-1
Раздел (Категория-2 услуг)
Тикет-1
Тикет-2
Раздел (Категория-3 услуг)
Тикет-1
Тикет-2
Тикет-3
Примеры
Категория (Категория-1 услуг)
Ресурс-1
Ресурс-2
Ресурс-3
Категория (Категория-2 услуг)
Ресурс-1
Категория (Категория-3 услуг)
Ресурс-1
Ресурс-2
Необходимо что бы:1) на станице ресурса Категории-1, так же выводился блок с «публикациями» и блок «примеры работ» относящиеся к «Категории-1»
С чего начать, где копать, какие компоненты использовать, даже представить не могу…
Комментарии: 12
Вариант с тв-шками не подойдёт?
Не рассматривал такой вариант, спасибо буду смотреть!
А подскажите пожалуйста компонент tickets так же можно фильтровать по тв?
А подскажите пожалуйста компонент tickets так же можно фильтровать по тв?
Да можно для фильтра можно использовать прекрасное дополнение mSearch2
А без mSearch2 твшками можно реализовать в Tickets?
mSearch2 — для фильтрации но можно делать и без него.
Спасибо, буду изучать!
Раз уж топик открыт, пока не закрыл!
Подскажите почему не срабатывает данная конструкция?
Но почему то на ресурсе с id == 3, все равно выводится меню, ведь должно все работать?
А и еще добавлю, данный код находится в
Подскажите почему не срабатывает данная конструкция?
{if $id == 3}
{$_modx->resource.content}
{else}
{'!pdoMenu' | snippet : [
'parents' => $_modx->resource.id,
'level' => '1',
'tplOuter' => '@INLINE <div style="padding: 15px; text-align: center!Important;">{$wrapper}</div>',
'tpl' => '@INLINE <h2 style="padding: 15px; margin:0; display: inline-block;" class="text_bold text_size_h2">
<a href="{$link}">{$menutitle}</a>
</h2>{$wrapper}'
]}
{$_modx->resource.content}
{/if}
Нужно что бы на странице с id == 3 выводился только [[+content]], а на другой странице выводилось меню с parent=idНо почему то на ресурсе с id == 3, все равно выводится меню, ведь должно все работать?
А и еще добавлю, данный код находится в
{extends 'file:templates/base.tpl'}
{block 'main'}
Тут код
{/block}
Заместо $id:
$_modx->resource.id
Сам решил!
{if $_modx->resource.id == 3}
{$_modx->resource.content}
{else}
{'!pdoMenu' | snippet : [
'parents' => $_modx->resource.id,
'level' => '1',
'tplOuter' => '@INLINE <div style="padding: 15px; text-align: center!Important;">{$wrapper}</div>',
'tpl' => '@INLINE <h2 style="padding: 15px; margin:0; display: inline-block;" class="text_bold text_size_h2">
<a href="{$link}">{$menutitle}</a>
</h2>{$wrapper}'
]}
{$_modx->resource.content}
{/if}
Да, к слову, чтобы не плодить сущности, правильнее сделать так:
{if $_modx->resource.id == 3}
{'pdoMenu' | snippet : [
'parents' => $_modx->resource.id,
'level' => 1,
'tplOuter' => '@INLINE <div style="padding: 15px; text-align: center!Important;">{$wrapper}</div>',
'tpl' => '@INLINE <h2 style="padding: 15px; margin:0; display: inline-block;" class="text_bold text_size_h2">
<a href="{$link}">{$menutitle}</a>
</h2>{$wrapper}'
]}
{/if}
{$_modx->resource.content}
По поводу вашей задачи, я бы прибегнул к такому способу: если у вас прослеживается прямая зависимость от услуги к публикации/примеру, то можно, условно, создать 3 контекста (услуги, публикации, примеры).
При создании ресурсов определенных шаблонов (категория услуги и страница услуги) в первом контексте, на событие OnDocFormSave и $mode == 'new', создавать аналогичные ресурсы с тем же названием в двух остальных контекстах. Код плагина будет примерно похож на данный.
Таким образом, можно или в автоматическом режиме в том же плагине проставлять id связанных ресурсов в тв-поля «основного», или ограничиться полным соответствием поля pagetitle для сопоставимых рубрик, и выводить «сопутствующие» рубрики уже по нему.
При создании ресурсов определенных шаблонов (категория услуги и страница услуги) в первом контексте, на событие OnDocFormSave и $mode == 'new', создавать аналогичные ресурсы с тем же названием в двух остальных контекстах. Код плагина будет примерно похож на данный.
Таким образом, можно или в автоматическом режиме в том же плагине проставлять id связанных ресурсов в тв-поля «основного», или ограничиться полным соответствием поля pagetitle для сопоставимых рубрик, и выводить «сопутствующие» рубрики уже по нему.
Спасибо Максим, добавил в закладки, обязательно изучу!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.