- Автор: Vitaly A. Ponomarev
- Адаптировал: irbees2008
- Источник:
- Уровень сложности исполнения: Справочник
Всем привет, решил немного обновить информацию по плагину,поскольку добавилась еще одна функция.
Рассмотрим плагин XNEWS,как его установить,настроить.
Плагин XNEWS отображает на сайте информационные блоки по заданным критериям.
Функционально он заменяет плагины: lastnews, top_news,similar частично,favorites.
1.Скачиваем плагин Вы не можете скачивать файлы с нашего сайта ,рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
2.Распаковываем и заливаем в папку по адресу /engine/plugins/.
3.Идем админка - плагины - требуют установки ,находим Плагин "XNEWS" и жмем установить.
4.Далее идем админка - плагины - неактивные находим Плагин "XNEWS" и жмем включить.
5.Плагин доработанный мной,он может выводить также по обновлению новостей.
6.Ну теперь настройка
Данные плагина можно использовать только при помощи TWIG функции callPlugin.
Формат вызова:
{{ callPlugin('xnews.show', {'order' : 'editdate', 'count': '6', 'template' : 'xnews1'}) }}
Функция xnews.show принимает на вход следующие параметры [детальное описание см. в админке плагина]:
. id - ID блока. Если заполнить это поле, то будет генерировать блок в соответствии
с настройками в админке плагина
{{ callPlugin('xnews.show', {'id' : '1'}) }}
. categoryMode - Из каких категорий генерируется лента новостей
0: только из списка категорий, прописанного в categories
1: только из текущей категории
2: из списка категорий из categories + из текущей категории
{{ callPlugin('xnews.show', {'categoryMode' : '1'}) }}
. categories - Список категорий для генерации ленты
список через запятую из ID категорий
{{ callPlugin('xnews.show', { 'categoryMode' : '0', 'categories' : '15,16'}) }}
. visibilityMode - Область видимости
0: везде
1: на странице категорий
2: на странице новостей
3: страница категорий + новостей
{{ callPlugin('xnews.show', { 'visibilityMode' :' 0', 'categories' : '15'}) }}
. visibilityCList - Список категорий на которых отображается блок
список через запятую из ID категорий, на которых будет отображаться блок (если visibilityMode > 0)
{{ callPlugin('xnews.show', { 'visibilityMode' : '1','visibilityCList' :'1,2,4' , 'categories' : '15'}) }}
. mainMode - Отображение новостей с главной страницы
0: Все новости
1: Только новости с главной
2: Только новости не с главной
{{ callPlugin('xnews.show', { 'mainMode' : 1, 'categories' : '15'}) }}
, pinMode - Отображение прикрепленных новостей
0: Все новости
1: Только прикрепленные новости
2: Только неприкрепленные новости
{{ callPlugin('xnews.show', { 'pinMode' : '1', 'categories' : '15'}) }}
, favMode - Отображение новостей из закладок администратора
0: Все новости
1: Только новости из закладок администратора
2: Только новости, не находящиеся в закладках администратора
{{ callPlugin('xnews.show', { 'favMode' : '1', 'categories' : '15'}) }}
. count - Количество новостей для отображения
{{ callPlugin('xnews.show', { 'count' :'5' , 'categories' : '15'}) }}
. skip - Номер (по порядку) с которого начинать показ
{{ callPlugin('xnews.show', { 'skip' :'5' , 'categories' : '15'}) }}
. order - Порядок вывода новостей
'viewed' - по кол-ву просмотров (обратный порядок)
{{ callPlugin('xnews.show', { 'order' :'viewed' , 'categories' : '15'}) }}
'commented' - по кол-ву комментариев (обратный порядок)
{{ callPlugin('xnews.show', {'order' :'commented' , 'categories' : '15'}) }}
'random' - случайный порядок
{{ callPlugin('xnews.show', { 'order' :'random' , 'categories' : '15'}) }}
'last' - по дате публикации
{{ callPlugin('xnews.show', { 'order' :'last' , 'categories' : '15'}) }}
'unlast' - по дате публикации
{{ callPlugin('xnews.show', {'order' :'unlast' , 'categories' : '15'}) }}
'editdate'- по дате обновления новости
{{ callPlugin('xnews.show', { 'order' :'editdate' , 'categories' : '15'}) }}
. showNoNews - Выводить блок если в нём нет новостей
true - выводить
false - не выводить
{{ callPlugin('xnews.show', { 'showNoNews' : 'false','order' :'editdate' , 'categories' : '15'}) }}
. maxAge - Вывод новостей только за последние N дней
{{ callPlugin('xnews.show', { 'maxAge' : '7','order' :'editdate' , 'categories' : '15'}) }}
. minAge - Вывод новостей не моложе N дней
{{ callPlugin('xnews.show', { 'minAge' : '7','order' :'editdate' , 'categories' : '15'}) }}
. skipCurrent - Не отображать в блоке текущую новость (внимание, данный режим не позволяет кешировать новости!)
{{ callPlugin('xnews.show', { 'skipCurrent' : '0','order' :'editdate' , 'categories' : '15'}) }}
. cacheAge - Если указано значение > 0, то определяет срок кеширования блока (в секундах)
{{ callPlugin('xnews.show', { 'cacheAge' : '3600','order' :'editdate' , 'categories' : '15'}) }}
. template [!!] - Каталог, в котором хранится необходимый шаблон (файлы entries.tpl и xnews.tpl)
где [!!] означает, что это обязательный параметр (кроме случая работы через ID плагина)
{{ callPlugin('xnews.show', { 'categoryMode' :' 0', 'categories' : '15', 'template' : 'xnews1'}) }}
Пример вызова плагина в main.tpl:
1. Вывести блок с ID 'main'
{{ callPlugin('xnews.show', { 'id': 'main'}) }}
2. Вывести новости из категории с ID = 15
{{ callPlugin('xnews.show', { 'categoryMode' : '0', 'categories' : '15', 'template' : 'xnews1'}) }}
Примеры заполнения шаблонов:
--------------------------------------------------------------------
entries.tpl:
<li>
<a href="{{ link }}">
{% if (title|length > 15) %}{{ title|slice(0,15) }}..{% else %}{{ title }}{% endif %}<br/>
{{ dateStamp|date("m/d/Y G:i") }}</a>
{% if (pluginIsActive('uprofile')) %}<a href="{{ author_link }}">{{ author_name }}</a>{% endif %}
{{ category }}
{% if (flags.canEditNews) %}<img src="{{ skins_url }}/images/rewrite.gif">{% endif %}<br />
</li>
<br />
1. Обрезаем заголовок новости (title) по длине (15 символов)
2. Форматируем дату (параметр dateStamp)
3. Выводим профиль автора новости если плагин uprofile включен на сайте
4. Выводим изображение (rewrite.gif) если посетитель может редактировать данную новость
xnews.tpl
<div>
<ul>
{% for entry in entries %}
{{ entry }}
{% endfor %}
</ul>
</div>
Вот и все ,если не понятно задавайте вопросы,через этот плагин можно реализовывать слайдеры,табы,информеры
Можешь почитать и вот эту статейку "Теги dt"
Это тоже интересно
{{ callPlugin('xnews.show', { 'categories' : '1', 'template' : 'xnews1'}) }}
{{ callPlugin('xnews.show', { 'categories' : '2', 'template' : 'xnews2'}) }}
{{ callPlugin('xnews.show', { 'categories' : '3', 'template' : 'xnews3'}) }}
{{ callPlugin('xnews.show', { 'categories' : '4', 'template' : 'xnews4'}) }}
и в папке plugins которая в папке с шаблоном создать папку xnews ,а в ней папки шаблонов xnews1,xnews2,xnews3,xnews4
В каждой папке там два файла xnews.tpl и entries.tpl их и редактируем
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
ответить