В шаблоне для анонсов впишите в районе [*content*]
День добрый.
Ситуация такая, есть список акций компании, структура такая: раздел (последняя акция и остальные ниже ввиде анонсов) и акции в виде дочерних разделов. Когда заходим в акцию, то сначала показывается полный текст этой акции, а ниже анонсы остальных акций (как в основном разделе). Если в каждую акцию впихивать сниппет вывода анонсов, то норм, но хотелось бы чтоб забив текст акции для нее сразу же был подставлен список анонсов. Чтото не могу придумать изящьного решения.
[*content*]
[*id:is=`3`:then=``:else=`{{чанк}}`*]отлично! про Phx то и позабыл. Спасибо большое! То что надо.
Quote from: xupypr at Mar 14, 2011, 02:05 AMВ шаблоне для анонсов впишите в районе [*content*]
День добрый.
Ситуация такая, есть список акций компании, структура такая: раздел (последняя акция и остальные ниже ввиде анонсов) и акции в виде дочерних разделов. Когда заходим в акцию, то сначала показывается полный текст этой акции, а ниже анонсы остальных акций (как в основном разделе). Если в каждую акцию впихивать сниппет вывода анонсов, то норм, но хотелось бы чтоб забив текст акции для нее сразу же был подставлен список анонсов. Чтото не могу придумать изящьного решения.
[*content*] [*id:is=`3`:then=``:else=`{{чанк}}`*]
3 - например id корня акций
{{чанк}} с ditto вывод на странице акций нужного вида
В корневой ресурс в содержимом вывод для показа анонса акций.
Плагин Phx необходим. Либо написать свой сниппет с подобной логикой.
<?php
$id = $modx->documentIdentifier;
$parent = $modx->getParentIds($id);
$parent = reset($parent);
if (intval($parent)==18)
{
$childs = $modx->getChildIds($parent);
for ($i=(count($childs)-1); $i>=0; $i--)
if (intval($childs[$i])!=$id){
$docfield = $modx->getDocument(intval($childs[$i]), 'id, pagetitle, introtext', 1);
echo '<div><a href="'.$modx->makeURL(intval($childs[$i])).'"><h3>'.$docfield[pagetitle].'</h3></a><p>'.$docfield[introtext].'</p></div>';
}
}
$parents_list_array = explode('|', $parents_list);
if (!(is_array($parents_list_array))) $parents_list_array[0]=intval($parents_list);
if (in_array(intval($parent), $parents_list_array))
...
[[!showChildList? $parents_list=`12|18|15`]]