Что такое Archivist?
Archivist – это навигационное архивное дополнение для MODx Revolution. Поддерживает навигацию ресурсов стиля WordPress, а также создание архивного списка в формате месяц /год/день и автоматическую генерацию FURL.
Требования
• MODx Revolution 2.0.0-RC-2 или более новая версия
• PHP5 или более новая версия
История
Архивирующий компонент Archivist в стиле WordPress написал Шон Маккормик (Shaun McCormick), первый выпуск состоялся 3 июня 2010 года.
Скачать
Компонент можно скачать с помощью менеджера в MODx Revolution через установщик пакетов, или через MODx Extras Repository.
Использование
Archivist включает 2 сниппета – один для отображения списка в формате месяц/год/день ("Archivist"), а другой для отображения результатов архива ("getArchives").
Archivist.Archivist - Отображение навигационных архивных ссылок.
Archivist.getArchives - Отображение результатов архивов.
Примеры
Отобразите архивы Вашего сайта в списке за месячный период с родительскими ID 54 и 55, а затем ресурса с ID123.
Вывод Месячного архива:
[[!Archivist? &parents=`54,55` &target=`123`]]
А затем на Вашей странице архивов:
[[!getArchives?
&parents=`54,55`
&toPlaceholder=`archives`
]]
[[+arc_month_name]] [[+arc_year]] Aрхивы
[[+archives]]
Archivist snippet
Этот сниппет (snippet) отображает архивные ссылки за месяц или год.
Использование
Просто поместите сниппет туда, где бы Вы хотели видеть архивные списки, родительские ID, с которых будут загружаться архивы, и целевой ресурс для загрузки архивов с помощью сниппета getArchives.
[[!Archivist? &target=`123` &parents=`4,12,33`]]
Доступные свойства
Имя |
Описание |
По умолчанию |
tpl |
Чанк (сhunk), который будет использоваться для отображения результатов за каждый месяц/год |
row |
target |
Ресурс, к которому обращается сниппет getArchives, отображающий результаты фильтра архива. |
|
parents |
Разделенный запятыми список ids, которые служат как родительские |
|
depth |
Целое значение, показывающее глубину поиска для ресурсов от каждого родителя |
10 |
sortBy |
Поле (field) для сортировки и группировки результатов by. |
publishedon |
sortDir |
Порядок сортировки. По умолчанию DESC. |
DESC |
limit |
Ограничивает количество возвращенных ресурсов. |
10 |
start |
Опция. Оffset ресурсов, которые согласно критерию должны быть пропущены. |
0 |
useMonth |
Если 1, за единицу измерения в архивном списке берется месяц. |
1 |
useDay |
Если 1, за единицу измерения в архивном списке берется день. |
0 |
dateFormat |
Опция. Формат даты согласно синтаксису MySQL DATE_FORMAT () для каждой строки. Если пустая, Archivist вычисляет автоматически. |
|
useFurls |
Если true, будет генерировать ссылки в довольно удобном URL-формате. |
1 |
extraParams |
Опция. Если указана, будет добавляться в адрес каждой строки. |
|
cls |
CSS-класс, добавляемый к каждой строке. |
arc-row |
altCls |
CSS-класс, добавляемый к каждой альтернативной строке. |
arc-row-alt |
firstCls |
Опция. CSS-класс, добавляемый к первой строке. Если пустая, игнорирует. |
|
lastCls |
Опция. CSS-класс, добавляемый к последней строке. Если пустая, игнорирует. |
|
filterPrefix |
Префикс, используемый для GET-параметров с ссылками Archivist. Убедитесь, что значение одинаковое с параметром filterPrefix запроса сниппета getArchives |
arc_ |
toPlaceholder |
Если установлен, предпочтение отдается выводу сниппетав в placeholder. |
|
setLocale |
Если true, Archivist запускает функцию setlocale с настройкой cultureKey, если Ваш cultureKey не"en". |
true |
Чанки Archivist
Archivist обрабатывает 1 чанк, у которого Archivist соответствует параметр:
tpl – сhunk, который используется для каждого отображенного результата.
Примеры
Отображение списка месяцев для архивов ресурсов под ID 2, 4 и 6, при нажатии – переход на страницу 123:
[[!Archivist? &target=`123` &parents=`2,4,6`]]
Chunk tpl в Archivist
Это сhunk, который отображается с &tpl свойством в сниппете Archivist.
Доступные Плейсхолдеры
Имя | Описание |
url | URL, которые обращаются в соответствующий архив. |
cls | CSS-класс к использованию, указанный как свойство в обращении снипетта Archivist |
date | Отформатированный time span, который архивируется. |
count | Количество ресурсов в 'date'. |
month | Число месяца (01,07,11 и т.д.)ю |
month_name | Название месяца. |
month_name_abbr | Сокращенное названия месяца. |
year | Год, в виде четырехзначного числа. |
day | Порядковое числительное, обозначающее день месяца (01, 24, 31 и т.д.) |
day_formatted | День, с постфиксом 'th', 'rd' or 'nd'. (1st, 2nd, 3rd) |
weekday | Название дня недели. |
weekday_idx | Индекс дня недели. |
ArchivistGrouper
ArchivistGrouper
Встроенная программа 1.6.1 для Articles появилась вместе с дополнением 1.2.3 к Archivist, так что получается, что сниппет ArchivistGrouper является частью Archivist. Пока нет инструкций от его создателя, но я обнаружил доступные свойства в сниппете.
Описания, представленные в таблице, являются всего лишь предположением! Требуется подтверждение или изменение от более опытного пользователя или создателя!
Использование
Просто поместите сниппет туда, где бы Вы хотели видеть отображение архивного списка, и родительские ID, из которых будут загружаться архивы.
Доступные свойства
Имя |
Описание |
По умолчанию |
mode |
Выбор между месяцем (month) и годом (year) |
month |
itemTpl |
Сhunk, который используется для отображения каждой единицы из группы |
|
parents |
Разделенный запятыми список ids, которые служат в качестве родительских. |
|
target |
Ресурс, к которому обращается сниппет getArchives, отображающий результаты фильтрования архива. |
|
depth |
Целое число, которое означает глубину поиска для ресурсов в каждом родительском источнике. |
10 |
where |
|
|
hideContainers |
|
true |
sortBy |
Поле для сортировки и группировки результатов by. |
publishedon |
sortDir |
Порядок сортирования. По умолчанию в DESC. |
DESC |
dateFormat |
Формат даты, в соответствии с MySQL DATE_FORMAT () синтаксисом – для каждой строки. Если пустой, ArchivistGrouper рассчитывает автоматически. |
|
limitGroups |
Ограничение количества возвращенных групп. |
12 |
limitItems |
Ограничение количества возвращенных единиц. 0 значит нет ограничений?? |
0 |
resourceSeparator |
|
\n |
groupSeparator |
|
\n |
filterPrefix |
Префикс, используемый для GET-параметров с ссылками Archivist. Убедитесь, что значение одинаково с параметром filterPrefix, к которому обращается с запросом сниппет getArchives. |
arc_ |
useFurls |
Если true, будут сгенерированы ссылки в довольно удобном url-формате. |
true |
persistGetParams |
|
false |
extraParams |
|
|
cls |
CSS-класс для добавления в каждую строку. |
arc-resource-row |
altCls |
CSS-класс для добавления в каждую альтернативную строку. |
arc-resource-row-alt |
setLocale |
Если true, Archivist запустит функцию setlocale с Вашими настройками cultureKey, если Ваш cultureKey не "en". |
true |
groupTpl |
Чанк, который будет использован для отображения результата за каждый месяц/год. |
yearContainer (когда property mode=`year`) |
Почти все описания представляют те же свойства, которые упоминались на странице Archivist.
Чанки
Если нет заданных шаблонов (templates), используются таковые по умолчанию. Так как я был озадачен тем, как создать свой собственный шаблон для групп, я изучил источник и нашел этот шаблон, который используется в качестве monthContainer:
Обратите внимание на placeholder +resources, который переводит результаты на itemTpl.
<li><a href=""> </a> <ul> </ul>
Результат
Результат выглядит так:
Сниппет getArchives
Этот сниппет выводит результаты из ссылки архива, сгенерированной сниппетом Archivist.
Использование
Просто поместите сниппет туда, где бы Вы хотели видеть отображение архивов. getArchives будет автоматически обрабатывать FURLs и информацию на входе от запроса сниппета Archivist.
Используя с getPage, убедитесь, что установлен set &cache=`0` на getPage.
Доступные свойства
getArchives – это вариант getResources, поэтому все свойства в getResources также доступны для getArchives, а также следующие:
Имя | Описание | По умолчанию |
tpl | Имя chunk, выступающий в качестве шаблона ресурса. | |
parents | Список ids, разделенных запятыми, которые служат как родительские. | |
filterField | Поле, по которому происходит фильтрация при фильтровании по архивам. Убедитесь, что совпадает с параметром sortBy в запросе сниппета Archivist. | publishedon |
filterPrefix | Префикс, используемый для GET-параметров с ссылками Archivist. Убедитесь, что совпадает с параметром filterPrefix запроса сниппета getArchives. | arc_ |
tagsIndex | Если установлен, и var REQUEST этого индекса найден, будет автоматически фильтровать результаты по значению. | tags |
toPlaceholder | Если установлен, отдает предпочтение выводу этого сниппета в этот placeholder. |
Если в результате Вашего запроса getArchives не отображается никаких результатов, и Ваши ресурсы скрыты от меню, убедитесь, что Вы задали параметр &showHidden=`1` (наследуется от GetResource параметра)!
Chunk getArchives
Существует один чанк, который обрабатывается в getArchives. Его соответствующий getArchives параметр:
tpl- сhunk, который используется для каждого отображения результата.
Примеры
Отображение архивов для родительских 4, 12 и 33, помещение результатов в placeholder под названием 'results':
[[!getArchives? &parents=`4,12,33` &toPlaceholder=`results`]]
Результаты поиска
[[!+results]]
getArchives tpl Chunk
Это сhunk, который отображается с &tpl свойством сниппета Archivist.
Значение по умолчанию
<div class="post"> <h2 class="title"><a href=""></a></h2> <p class="post-info">Posted by </p> <div class="entry"> <p></p> </div> <p class="postmeta"> <span class="links"> <a href="" class="readmore">Read more</a> | <span class="date"></span> </span> </p> </div><
Доступные placeholderы
Любое поле ресурса, доступное для использования в качестве свойства. Chunk подобен тому, как работает tpl property в getResources.