Создание страницы с новостями и вывод последних новостей на главную MODX

Для работы необходимо два пакета - getResources и fastField. Нам нужно сделать:

  • Вывод трех последних новостей (краткого описания) на главную страницу
  • Единой страницы со всеми новостями

Внутреняя сраница

В ресурсах, создаем страницу "Новости" и помещаем туда:

[ [!getResources?
&parents=`[ [*id]]`
&tpl=`newsgenerator`
&limit=`100`
&depth=`0`
&includeTVs=`1`
&sortby=`createdon`
&sortdir=`DESC`
]]

Создаем чанк "newsgenerator":

<div class="news-item">
<h3>[ [+pagetitle]]<span>[ [+publishedon:strtotime:date=`%d %m %Y`]]</span></h3>
<div class="news-item-short">[ [+introtext]] <span>Читать далее...</span></div>
<div class="news-item-content">[ [#[ [+id]].content]]</div>
</div>

Предлагаем использовать такиие стили:

div.news-item {margin-bottom: 25px;}
div.news-item h3 {padding: 0px;font-size: 30px;line-height: 27px;margin-bottom: 17px;font-weight: normal;}
div.news-item-short span {color: #2368FC;border-bottom: 1px dotted;cursor: pointer;}
div.news-item h3 span {float: right;font-size: 16px;}
div.news-item-content {display: none;margin-top: 12px;}

Внизу страницы размеcтить JavaScript Jquery:

<script>
$(document).ready(function(){
$(".news-item-short").find("span").click(function(){ //при улиике на span внутри .news-item-short...
$(this).parent().next().slideToggle("slow"); //скрываем или показываем элемент, идущий следом за .news-item-short по коду.
});
});
</script>

Создайте несколько тестовых новостей (внутри ресурса "новости")

На главной странице

Генератор последних трех новостей:

[ [!getResources?
&parents=`[ [УКАЗАТЬ ID Страницы "НОВОСТИ"!]]`
&tpl=`news-on-index`
&limit=`3`
&depth=`0`
&includeTVs=`1`
&sortby=`createdon`
&sortdir=`DESC`
]]

Чанк news-on-index зависит от дизайна главной страницы. Пример с одного из сайтов:

<div class="grid_4">
<div class="block1">
<time datetime="[ [+publishedon:strtotime:date=`%Y`]]-[ [+publishedon:strtotime:date=`%m`]]-[ [+publishedon:strtotime:date=`%d`]]">[ [+publishedon:strtotime:date=`%d`]]<span>[ [+publishedon:strtotime:date=`%b`]]</span></time>
<div class="extra_wrapper">
<div class="text1 col1"><a href="[ [~14]]">[ [+pagetitle]]</a></div>
[ [+introtext]]
</div>
</div>
</div>

Вот и все, пользуемся.


Комментарии (0)



Разрешённые теги: <b><i><br>Добавить новый комментарий:


Создание сайтов в студии go-up.info