Краткая информация

Block.Pro.2 - Расширенный вывод блоков с новостями для DLE

Модуль для удобного и гибкого вывода новостей на любой странице DLE-сайта

Версия DLE: 9.4+ (на более старых версиях не проверялся, работоспособность не гарантируется)

Версия модуля: 2.6.8

Дата релиза: 27.09.2012

Автор: ПафНутиЙ

Контакты: http://pafnuty.name, Google+ или email

Модуль распространяется бесплатно для частного и коммерческого использования

При публикации модуля на других сайтах не забывайте оставлять ссылку на первоисточник, уважайте чужой труд.

Основные возможности модуля

Установка модуля

Для быстрого составления строки подключения воспользуйтесь Генератором

Простая установка

  1. Скопировать файл block.pro.2.php в папку engine/modules/.
  2. Скопировать содержимое папки THEME в папку с текущим шаблоном сайта.
  3. В нужном месте прописать строку подключения модуля с обязательными параметрами:
    {include file="engine/modules/block.pro.2.php?&block_id=BLOCK&template=blockpro"}
    Где:
    BLOCK - Уникальный идентификатор блока
    blockpro - имя шаблона, используемого для вывода
    .
  4. Настроить дополнительные параметры строки подключения и шаблон.

Установка для вывода похожих новостей

  1. Скопировать файл block.pro.2.php в папку engine/modules/.
  2. Скопировать содержимое папки THEME в папку с текущим шаблоном сайта.
  3. Отключить стандартный вывод похожих новостей в админке (Настройка системы » Оптимизация запросов к базе данных » Отображение похожих новостей » "нет")
  4. Открыть файл engine/modules/show.full.php
    найти строку, содержащую текст:
    		if( $config['related_news']
    ПЕРЕД ней вставить
    /*Block.Pro - relatednews*/
    $block_id = 'related_'.$row['id']; //Не трогать!
    $relatedpro = "1"; //Не трогать!
    $template="relatednews"; // Имя шаблона (можно менять)
    /*Начало Дополнительные парамерты*/
    //Сюда можно вписывать дополнительные параметры подключения модуля, не забывая про синтаксис php.
    /*Конец Дополнительные парамерты*/
    include_once ENGINE_DIR . '/modules/block.pro.2.php';	//Не трогать!
    /*Block.Pro - relatednews*/
  5. Прописать дополнительные параметры подключения модуля (Переменные приведены в таблице ниже. При вставке необходимо заменять символ & на $, значения переменных заключать в кавычки, в конце строки ставить точку с запятой).
  6. Настроить шаблон.
  7. Похожие новости будут выводиться стандартным тегом {related-news}, дополнительных строк подключения в шаблон полной новости писать не требуется.

Переменные строки подключения

Все переменные указываются непосредственно в строке подключения модуля.

В таблице дано описание возможных для использования переменных

Наименование переменной Значение по умолчанию Описание Примечание
&block_id   Обязательная переменная. Уникальный идентификатор блока любое, уникальное для каждого блока значение
&template   Обязательная переменная. Имя шаблона для вывода блока указывается только имя, без расширения .tpl
&day 30 Количество дней, за которое осуществляется отбор новостей. Если указать ноль (0) - будут браться новости за всё время. Переменная автоматически принимает нулевое значение, если в строке подключения определена переменная &last, &relatedpro или &rndom
&show_cat   Категория/категории для отбора новостей.

Категории указываются через запятую.

Если указать &show_cat=this - новости будут браться только из просматриваемой категории.

&ignore_cat   Модификатор переменной &show_cat. превращает указанные в &show_cat категории в игнорируемые. Для активации модификатора достаточно его определить (например &ignore_cat=y)
&post_id   new Фильтрация новостей по их ID

ID новостей указываются через запятую.

Если в строке подключения указать &post_id=this&ignore_post_id=y Будут отбираться все новости, кроме той новости, в которой находится пользователь.

Важно! &post_id={news-id} - работает только в fullstory.tpl и shortstory.tpl Работает в любом месте

&ignore_post_id   new Модификатор переменной &post_id. Превращает ID, указанные в &post_id в игнорируемые. Для активации модификатора достаточно его определить (например &ignore_post_id=y). Пример использования указан строкой выше.
&start_from 0 Начало диапазона отбора новостей.  
&news_num 10 Количество новостей в блоке  
&img_xfield   Имя дополнительного поля для получения уменьшенного изображения.

Переменную нужно определять только тогда, когда требуется выводить картинку из дополнительного поля.

Одновременный вывод картинки из краткого содержимого и допполя невозможен.

В допполе должна лежать прямая ссылка а изображение.

&img_size 60x60 Размер уменьшенной копии изображения. (Ширина X Высота) Допустимо указывать одну цифру (например 100). тогда изображение будет уменьшено по большей стороне. при указании нуля (&img_size=0) изображение обрезаться не будет.
&noimage noimage.png Имя и расширение для картинки-заглушки, в случаи отсутствия изображения в новости. Картинка-заглушка должна располагаться в папке images текущего шаблона сайта.
&nocache   Модификатор, отключающий использование кеша для блока. Для активации модификатора достаточно его определить (например &nocache=y)
&cache_live  

Переменная, задающая время жизни кеша блока.

Указывается в секудах.

Например если нужно, чтобы блок обновлялся каждые сутки: &cache_live=86400

При формировании блока модуль проверяет время жизни кеша блока и если оно превышает или равно указанному в переменной - создаёт новый файл кеша.

 

&random

&last

&top_comm

&top_rating

&top_views

 

Варианты сортировки новостей.

Случайным образом

По дате добавления

Самые комментируемые

Самые рейтинговые

Самые часто просматриваемые

По умолчанию выводятся топ-новости (по аналогии со стандартным топом DLE)

Недопустимо использование нескольких вариантов сортировки одновременно.

Для активации модификатора достаточно его определить (например &random=y) - будут выводиться случайные новости

&wordcut   Модификатор, отключающий обрезку текста новости до конца слова и включающий обрезку до заданного количества символов. Для активации модификатора достаточно его определить (например &wordcut=y)
&author   Фильтрация новостей по имени автора

Указать в строке подключения переменную &author={usertitle} для вывода новостей автора на странице его профиля. Так же {usertitle} можно заменить на имя автора.

Важно! тег {usertitle} будет работать только при вставке строки подключения в шаблон userinfo.tpl

&xfilter   Фильтрация новостей по дополнительным полям В фильтр попадают только новости, у которых заполнено указанное дополнительное поле (в строке подключения нужно указать переменную &xfilter=image, text - в этом случаи будут отобранны только те новости, в которых заполненны допполя image и text)
$relatedpro   Модификатор активирует механизм отображения похожих новостей. Указывается только при подключении модуля в файле show.full.php для вывода похожих новостей. Для активации модификатора достаточно его определить (например $relatedpro=y;)
&showstat   Модификатор активирует показ времени генерации блока для пользователя с ID=1 (Администратор) Для активации модификатора достаточно его определить (например $showstat=y;)

Теги шаблона

В таблице приведены возможные для использования в шаблоне теги и их описание.

Обозначение тега шаблона Описание Примечание
{link-category} Ссылка/ссылки на категории  
{category} Наименование категории  
{category-icon} Иконка/иконки категорий При отсутствии иконки берётся картинка {THEME}/images/no_icon.gif
{category-url} Ссылка на категорию в чистом виде  
[xfvalue_name] Значение дополнительного поля "name", где "name" название дополнительного поля  
[xfgiven_name] [xfvalue_name] [/xfgiven_name] Выводится дополнительное поле "name", если поле не пустое, если поле не имеет значения, то текст просто вырезается  
[xfnotgiven_name] текст [/xfnotgiven_name] Выводят текст указанный в тегах, если дополнительное поле не было задано при публикации новости, где "name" это имя дополнительного поля  
{image-X} Выводит URL уменьшенной картинки находящейся в краткой новости, где Х это номер картинки в новости, например {image-1} выведет URL первой картинки в краткой новости  
{image_original} Выводит URL оригинальной картинки, указанной в {image-X}  
[image_original] текст [/image_original] Выводят текст указанный в тегах, если есть {image_original}  
[not_image_original] текст [/not_image_original] Выводят текст указанный в тегах, если нет {image_original}  
{rating} Выводит рейтинг  
{vote-num} Выводит количество проголосовавших  
[profile] текст [/profile] Выводят прямую ссылку на профиль автора публикации, без использования всплывающего окна минипрофиля.  
{login} Выводит логин пользователя добавившего новость в виде обычной текстовой информации без ссылок на профиль и карточку пользователя.  
{author} Ссылка на автора новости  
{date} Дата новости в формате, установленном в настройках движка  
{date=X} Дата новости в пользовательском формате  
{title} Заголовок новости  
{title limit="X"} Заголовок новости, обрезанный до X символов.  
{short-story} Текст новости. начиная с версии 2.6.5 тег {text} заменен на {short-story}
{short-story limit="X"} Текст новости, обрезанный до указанного X количества символов, при этом обрезание текста происходит до последнего логического слова, а не обрывает текст на середине слова. начиная с версии 2.6.5 тег {text limit="X"} заменен на {short-story limit="X"}
{full-link} URL полной новости.  
{comments-num} Количество комментариев к новости.  
{views} Количество просмотров новости.  
{news-id} Выводит ID новости.  
[comments] текст [/comments] Выводят текст, заключенный в них, если у новости есть комментарии.  
[not-comments] текст [/not-comments] Выводят текст, заключенный в них, если у новости нет комментариев.  
[allow-comm] текст [/allow-comm] new Если комментарии к новости запрещены - текст между тегами будет вырезан  
История изменений