Добрый день. Столкнулся с проблемой в modx. Нашел много документации на Evo, а вот на Revo как-то не получилось. Либо совсем ничего не сказано, либо упомянуто вскользь и важные детали упущены.
В связи с этим назрел такой вопрос:
Создал ресурс под названием статьи, применил стандартный шаблон и в контенте применил такой код для отображения самого контента (простите за тавтологию). В месте, где должны отображаться сами статейки прикрепил чанк [[$news]].
В результате ссылка a[href="[[~[[*id]]]]"] ссылается на саму страницу статей, т.е. на основной ресурс "Статьи". (В принципе то и логично). Ну и соответственно [[*pagetitle]] и [[*introtext]] тоже берут контекст из основного ресурса "Статьи".
То, что должно отображаться в самих статьях - это созданные вложенные документы в ресурс статьи:
Изначально я пытался сделать ч/з сниппет articles:
Но беда в том, что modx функция getDocumentChildren() на Revo не работает, нашел аналог, как писали в интернете, getChildIds(). Но она ничего не возвращает. (Точнее я пытался вызвать результат работы ф-ии ч-з echo и цикл foreach(), но он мне вывел просто 3 числа: 14, 15, 16; вместо, как мне казалось, *id, *pagetitle, *introtext).
В итоге, добрые люди, помогите сделать страницу со статьями. Как лучше и правильнее реализовать сей действие? (хотелось бы с кодом)
Ресурс-статьи:
<div class="container-fluid articles_page">
<div class="container"><center>
<h1>НОВОСТИ САЙТА</h1>
<div class="divider"> </div>
</center>
<div class="news-block masonry" data-columns="">
[[$news]]
</div>
</div>
</div>
Чанк:
<div>
<a href="[[~[[*id]]]]">
<div class="thumbnail">
<img src="http://placehold.it/1280x720" class = "img-responsive" alt=\"\">
<div class=\"caption\">
<h3>[[*pagetitle]]</h3>
<span class="date">[[*publishedon:date='%d/%b/%y']]</span>
<p>[[*introtext]]</p>
</div>
</div>
</a>
</div>
Сниппет articles:
<?php
$results = $modx->getChildIds(
$id = 13,
$active = 1,
$deleted = 0,
'id, pagetitle, published, introtext, content, menuindex, createdby, createdon, deleted, menutitle',
$where = '',
$sort='createdon',
$dir='DESC',
$limit = ''
);
foreach($results as $key => $value) {
if ($value["menutitle"] != "") {
$title = $value["menutitle"];
}
else{
$title = $value["pagetitle"];
}
$items .= "
<div>
<a href=".$value["createdon"].">
<div class=\"thumbnail\">
<img src=\"http://placehold.it/1280x720\" class = \"img-responsive\" alt=\"\">
<div class=\"caption\">
<h3>".$title."</h3>
".$value["introtext"] ."
</div>
</div>
</a>
</div>
";
}
$output = "
<div id=\"pagination\">
<a href=\"#\">< Назад</a>
<a href=\"#\">Вперед ></a>
</div>
";
return $items.$output;
P.s. Как выводить картинку - миниатюру на станице статей?
Свежие комментарии