Работаю по всей России

vasilisa1210@mail.ru

Главная » Уроки » Уроки по ModX Revo » [Modx Revo] организация новостей и статей на сайте getResources getPage

[Modx Revo] организация новостей и статей на сайте getResources getPage

Как создать новости или статьи на сайт Modx Revo? При помощи getPage и getResources.

Загружаем и устанавливаем пакеты getPage, getResources, phpthumbof.

Создаем ДОЧЕРНИЙ РЕСУРС (папку), называем ее СТАТЬИ и в ней несколько статей или новостей размещаем (дочерних ресурсов). У каждой статьи или новости должна стоять галочка ПОКАЗЫВАТЬ В МЕНЮ.

В ресурсе СТАТЬИ вписываем (пользуемся кнопкой вставки кода HTML!):

[[!getPage?
&elementClass=`modSnippet`
&element=`getResources`
&parents=`[[*id]]`
&tpl=`articleTpl`
&limit=`5`&includeTVs=`1`
&hideContainers=`1`
&pageLimit=`5`
&pageNavVar=`page.nav`]]
Страница [[+page]] из [[+pageCount]]<ul class="pageList">[[+page.nav]]</ul>

Создаем TV  (дополнительное поле) с именем image, ввод - картинка, вывод - по умолчанию. Делаем его доступным ко всем шаблонам вывода статей и новостей.

Создаем шаблон вывода одной статьи и размещаем там этот код (этот шаблон присваиваем всем ресурсам со статьями):

<div>
Дата публикации: [[*publishedon]]
<h1>[[*pagetitle]]</h1>
<img src="[[*image:phpthumbof=`w=120&h=120&zc=1`]]">
[[*content]]
</div>

В шаблон основной страницы где надо вывести блок последних 3 новостей пишем:

[[!getPage?
&element=`getResources`
&parents=`3,4`
&tpl=`articleTpl`
&limit=`3`
&includeTVs=`1`]]

где 3 и 4 - номера папок в которых находятся новости (ID родительского ресурса, указан в скобочках в древе ресурсов), 3 - кол-во выводимых новостей или статей

Создаем чанк articleTpl:

<a href="[[~[[+id]]]]">[[+pagetitle]]</a><p><img alt="" src="[[+tv.image:phpthumbof=`w=100`]]">[[+introtext]]</p>

В стили добавляем 

.pageList {margin: 10px 0;}
.pageList li a {padding: 5px;border: 3px solid #F1F1F1;}
.pageList li {float: left;margin: 0 5px;}
.pageList li a.active{background: #D3CBCB;}

ВИДЕО - создание новостей и статей на сайте Modx Revo

 

Создадим свой набор свойств

Элементы - Спиппеты - getPage. Переходим на вкладку ПАРАМЕТРЫ. Нажимаем Добавить набор параметров, как на рисунке

посавте галочку на Создать новый набор параметров, с имя впишите - articlePaging - Сохранить.

Заменяем в новом наборе pageFirstTpl и pageLastTpl, вместо английских слов вставляем русские - Первый, Последний. Сохраняем.

Прикрепим теперь наш новый набор свойств:

[[!getPage@articlePaging? &element=`getResources` &parents=`3,4` &tpl=`articleTpl` &limit=`3`]]

 

Дополнительная информация

Упорядочить статьи:

Например:

[[!getPage?
&element=`getResources`
&parents=`3,4`
&tpl=`articleTpl`
&limit=`10`
&includeTVs=`1`
&sortby=`{"publishedon":"DESC"}`]]