Articles что это такое?
Articles - это тип пользовательского ресурсa для MODX 2.2 (и более новых версий), который добавляет пользовательский ресурс Статья (Article Resource) в MODX, что обеспечивает простое ведение блогов, комментирование, архивирование, создание тегов и другие возможности в MODX в виде единообразного интерфейса.
Системные требования
- MODX Revolution 2.2.0 или более новая версия. Обратите внимание, для работыArticles 1.5+ требуется Revolution 2.2.1-pl.
- PHP5 или более новая версия.
- MODX работающий на MySQL, sqlsrv пока не поддерживается.
История создания
Articles написан Shaun McCormick как класс (Custom Resource Class) для блоггинга и новостных событий, впервые опубликован 29 ноября 2011. Обзор функций, планируемых для добавления в Articles, можно найти с помощью Roadmap.
Загрузка
Вы можете загрузить ПО с помощью менеджера MODx Revolution, используя Package Management, или из хранилища дополнений MODx.
Создание блога с помощью Articles
Допустим у вас уже установлена MODx Revolution 2.2, дополнение Articles (особенностью которого является автоматически установка getPage, tagLister, Archivist и прочего.) Далее приступаем к работе над блогом...
Создаем блог
Сделать блог достаточно просто – нажимаем правой кнопочкой мышки на документе в дереве ресурсов слева в менеджере и выбираем "Create". Жмем "Create Articles Here" Создать статьи здесь.
Покажется окошко создания контейнера Articles Container, который и есть по сути блог, способный располагать любым количеством статей (записей блога), а это нам и необходимо.
Закладка Статьи
Таким образом перед нами появляется новое окошко редактора, как изображено на фото: Вы можете ставить такие поля на начальной вкладке.
1. Container Title – подзаголовок вашего контейнера или же блога.
2. Container Alias – наш ЧПУ (имя) контейнера. В случае если этот контейнер располагается в корне сайта и определено имя как "blog", то адрес блога будет отображен как www.mysite.com/blog/
3. Description – краткое описание блога.
4. Menu Title – заглавие вашего блога, представленное пунктом меню. По-умолчанию, в случае если вы ничего не отметили, то он будет равен названию странички - pagetitle.
5. Link Attributes - всевозможные HTML атрибуты ссылки для демонстрации в ссылке меню, когда блог отражается в меню.
6. Hide from Menus – в случае если поставлена галочка, то ваш блог не будет представлен в любом меню вашего вебсайта.
7. Published – если установить эту опцию, ваш блог будет сразу же опубликован.
Продолжаем и даём нашему контейнеру статей название к примеру "My Blog" или же псевдоним "blog". Далее жмем вкладку "Template".
Вкладка Template
Эта вкладка складывается из характеристик шаблонизации вашего блога, к примеру: выбор применяемого шаблона и остальные функции вывода
Поля этой вкладки:
1. Uses Template – является шаблоном блога. Дополнение Articles гарантирует обычный шаблон, однако вы в силах его поменять на собственный.
2. Content – содержание или же контент блога – тут вы можете изменить как поле будет рендерится в шаблоне контейнера статей.
3. Article Template является шаблоном по-умолчанию ваших статей (может под каждую статью переназначен).
4. Article Row Chunk это чанк с помощью которого выводятся посты на фронтальную страницу или страничку архива. В дополнении Articles имеется собственный чанк.
5. Articles Per Page – число отображаемых записей блога, десять по-умолчанию.
Далее, у вас есть возможность установки поля "Template" в "sample.ArticlesContainerTemplate" или же в "sample.ArticleTemplate".
В случае если вы желаете изменить содержимое данных шаблонов, исключительно рекомендовано, чтобы вы сначала сохранили копию и переименовали их. Всевозможные перемены в шаблонах-образчиках будут перезаписаны, после любого обновления дополнения Articles.
Взгляните на поле "Content". В этот момент оно выглядит таким образом:
У вас есть возможность изменить его для реструктуризации размещения и разметки записей блога как в зависимости от пагинации (разбиения на странички). У вас есть возможность вставлять HTML разметку и теги MODX.
Далее жмём вкладку "Advanced Settings".
Advanced Settings
Тут ряд полей в единичных вертикальных вкладках:
1. Настройки архивов
Archive Listing Chunk – чанк для отражаемого месяца/года.
Archive Listings to Show – численность отображаемых месяц/годов.
Archive By Month – помесячная или же по годовая архивация. Yes – архивировать ежемесячно.
Archive CSS Class - CSS класс, который применяется для вывода каждого архива.
Archive Alternate CSS Class - CSS класс, используемый к любому парному ряду архива.
2. Настройки тегов
Tag Listing Chunk – чанк предназначенный для вывода тегов на страничках вывода.
Tag Listings to Show – численность тегов для вывода популярных тегов.
Tag CSS Class - CSS класс списка тегов.
Tag Alternate CSS Class - CSS класс парного ряда в списке тегов.
3. RSS опции
RSS Alias (Permalink) – псевдоним для фида RSS, который прикрепляется к ссылке на блог. Может быть как списком, разбитым запятыми. К примеру, в случае если вы поставите его в "rssfeed.rss", то ссылка вашего блога mysite.com/blog/rssfeed.rss продемонстрирует RSS фид.
Number of RSS Items – численность заключительных выводимых RSS объектов в RSS ленте.
RSS Feed Chunk – чанк предназначенный для шаблонизации RSS ленты.
RSS Item Chunk – чанк каждого объекта в RSS ленте.
Для более доскональной информации по опциям комментирования посмотрите документацию Quip.
Опять, в случае если вы собираетесь изменить предоставляемые чанков, то не забывайте, что нужно сделать сначала их копию и избрать иной чанк, чем попросту отредактировать чанк-образец, так как они перезапишутся при обновлении.
Выводы
Далее жмите "Save" и у вас готов свой функционирующий блог! Потом "View" для просмотра блога. Далее вы увидите таблицу, в которой есть возможность редакции и создания новых статей блога.
Получение данных Articles из других расширений
Articles является Ресурсом (Resource) MODX, что позволяет легко использовать его с другими расширениями MODX. Обратите внимание на один важный момент: параметр Articles "hidemenu" по умолчанию задан как 1 (не отображается в меню). Это сделано для того, чтобы предотвратить отображение в меню сайта (представьте сайт с 10 000 Articles – меню получается слишком большим).
К примеру, вызов getResources захватывает последние 8 Articles и помещает в ваш контейнер с ID 10:
Это все, что нужно сделать!
Сниппет Articles
Articles 1.4+ включает сниппет "Articles", что позволяет использовать специфические Articles-плейсхолдеры как контейнеры в любых Ресурсах на сайте. К примеру, разместите этот вызов на главной странице, объект - Container с ID 10:
В результате увидим последние сообщения Articles для этого контейнера. Сниппет делает доступными все плейсхолдеры в Шаблоне по умолчанию:
• – Отображает виджет “Последние сообщения” в правой части Шаблона – примера. • - Отображает виджет "Последние комментарии" ” в правой части Шаблона – примера. • – Значение может быть 1 или 0, в зависимости от того, нужно ли отображать комментарии для данного контейнера. • – Отображает список наиболее часто используемых тегов в вашем блоге. • – Отображает список сообщений за последние месяцы (или годы) в архивном формате.
Также в сниппете Articles можно использовать свойство &placeholderPrefix для добавления префикса вышеописанным плейсхолдерам, что позволит делать множественные вызовы сниппета Articles на одной странице.
Оформление Articles MODX Revolution
Расширение Articles полностью построено в соответствие философией MODX – контент всегда должен быть отделен от кода, поэтому разметка Articles может быть полностью отредактирована, дополнена или изменена. Это достаточно просто: просто продублируйте Шаблон (Templates) и измените его.
Создание дубликата Sample Templates
Для начала продублируем два шаблона , "sample.ArticlesContainerTemplate" и "sample.ArticlesTemplate". Затем переименуйте их так, как вам заблагорассудится. Назовем их соответственно "BlogTemplate" и "BlogPostTemplate".
|
Если отредактировать не копию, а непосредственно sample Templates, то при обновлении Articles все изменения будут удалены! |
Теперь перейдем в System Settings, найдем следующие установки и изменим их:
- "articles.default_container_template" – Изменим на наш BlogTemplate
- "articles.default_article_template" - Изменим на наш BlogPostTemplate
Эти установки задают шаблон по умолчанию для Containers и Articles согласно вашим изменениям.
Изменение шаблонов
Шаблон Container
Наш шаблон container, или "BlogTemplate", включает несколько плейсхолдеров, предоставленных Articles. Вот они:
– Отображает виджет "Последние сообщения" на правой стороне sample template. - Отображает виджет "Последние комментарии" на правой стороне sample template. - Значение может быть 1 или 0, в зависимости от того, нужно ли отображать комментарии для данного контейнера. - Отображает список наиболее часто используемых тегов в вашем блоге.. - Отображает список сообщений за последние месяцы (или годы) в архивном формате.
Вы можете перемещать это плейсхолдер для настройки нового шаблона так, как захотите!
Шаблон Article
Наш шаблон article, или "BlogPostTemplate", также включает несколько плейсхолдеров:
- Отображает виджет "Последние сообщения" на правой стороне sample template. – Комментарии для данного article, предусмотренные Quip, выводятся если включен режим их отображения. – счетчик количества комментариев текущего article (т.е для текущего сообщения). Рассчитывается на основе данных QuipCount. – Форма ответа, обеспечивается Quip, выводится если enabled / включены. – Используется с выходным фильтром "notempty", может включать / отключать отображение плейсхолдера (обратите внимание, используется символ * вместо +) – содержит список всех заданных тэгов данного article . - ID Container , в котором находится наш Article. Обратите внимание, используется символ * вместо +)
Если вы за пределами Article Template (Шаблона) и нужно отобразить число комментариев для данного сообщения (например, если вам надо отобразить число комментариев для каждого сообщения в списке "Последние сообщения"), то вы не можете использовать плейсхолдер . Вместо него вы должны использовать QuipCount. Перейдите на страницу Components -> Quip и посмотрите на “нанизанные” имена, которые Articles автоматически дает каждому сообщению. Это происходит в соответствие с форматомt: article-b{page-id-of-blog}-{page-id-of-post}, например article-b12-37 .
Зная это, мы можем использовать QuipCount внутри вызова getResources для получения числа комментариев для каждого сообщения, например:
|
0 |
В примере выше, блог – это страница с id 9.
Редактирование Чанков
Articles также включает несколько базовых чанков для отображения различных установок вашего Container (находятся на вкладке "Advanced Settings" при редактировании контейнера). Вы можете копировать данные чанки и использовать их при создании сайта.