• 2375
  • 3
  • Автор: 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>

Вот и все ,если не понятно задавайте вопросы,через этот плагин можно реализовывать слайдеры,табы,информеры

Можешь почитать и вот эту статейку "Скрипт выделение текста,кода .."

mistakes

Это тоже интересно

    irbees2008

    irbees2008 | 5.07.2015 - 04:40

    dreams, значит 4 блока надо будет сделать
    {{ 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 их и редактируем

    ответить

    dreams

    dreams | 4.07.2015 - 23:17

    Мне нужно вывести на главной новости из 4х категорий: 1 новость из 1-й категории, ниже 2 новости из 2-й категории, еще ниже 2 новости из 3-й категории, и в самом низу 1 новость из 4-й категории. И у каждой группы новостей свой дизайн

    ответить

    dreams

    dreams | 4.07.2015 - 23:13

    Залил плагин xnews, (кпноки установить не было), я нажал включить, в main.tpl прописал {{ callPlugin('xnews.show', { 'categoryMode' :' 0', 'categories' : '1', 'template' : 'xnews1'}) }} и пишет ошибку NGCMS Runtime error: Call to undefined function twigRegisterFunction() ... Что не так? подскажите пожалуйста

    ответить

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Ваше мнение

TWIG -что это?
Результаты

Облако тегов

Anything in here will be replaced on browsers that support the canvas element