Block.Pro.2.5

29.03
334
38 937
Block.Pro.2.5


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

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

Версия DLE: 9.5 (на других не проверялся, но работать должен)

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

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

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

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

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

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

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

  • Вывод популярных (топ по комментариям, рейтингу, просмотрам или как стандартный топ в dle), похожих, случайных (с возможностью отключения кеширования блока) или последних новостей.
  • Подключение модуля одной строкой непосредственно любой в шаблон (через include).
  • Простая и очень гибкая настройка вывода каждого блока.
  • Кеширование каждого блока (обновление кеша при добавлении новости или комментария на сайт) с возможностью отключения кеша для каждого блока.
  • Настройка категорий для вывода новостей (вывод только из определённых категорий, игнорирование определённых категорий, вывод или ингорирование новостей из просматриваемой категории)
  • Вывод уменьшенной копии картинки (в т.ч. и вместе с оригинальной картинкой) из короткой новости или дополнительного поля (картинки берутся только из папки uploads текущего сайта).
  • Автоматическое создание папки для уменьшенных копий изображений и выставление нужных прав.
  • Обрезка заголовка новости до заданного количества символов.
  • Обрезка текста новости (до заданного количества символов или до конца слова).
  • Ввод иконок категории.
  • Можно задать временной интервал для отбора новостей (по умолчанию 30дней).
  • Можно задать каждому блоку свой шаблон, свою картинку-заглушку.
  • Поддержка всех тегов, используемых в шаблонах кратких новостей.
  • Поддержка фильтра (перекрестные ссылки) по допполям, реализованного в DLE9.5
  • Можно указать с какой по счету новости начать вывод (например с 4й по 15ю).
  • Возможность быстрого редактирования новостей прямо из блока, аналогично стандартному функционалу

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

  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. Отключить стандартный вывод похожих новостей в админке (Настройка системы » Оптимизация запросов к базе данных » Отображение похожих новостей » "нет")
  2. Открыть файл engine/modules/show.full.php перед
    if( $config['related_news']
    вставить
    /*Block.Pro - relatednews*/
    $block_id = 'related_'.$row['id']; //Не трогать!
    $relatedpro = "1"; //Не трогать!
    $template="relatednews"; // Имя шаблона (можно менять)
    include_once ENGINE_DIR . '/modules/block.pro.2.php';		
    /*Block.Pro - relatednews*/
  3. Настроить дополнительные переменные подключения модуля (Переменные приведены в таблице ниже. При вставке необходимо заменять символ & на $) и шаблон
  4. В ШАБЛОНЕ ПОЛНОЙ НОВОСТИ НИЧЕГО ДОПОЛНИТЕЛЬНО ПРОПИСЫВАТЬ НЕ НУЖНО! модуль выводится через стандартный тег похожих новостей.

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

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

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

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

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

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

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

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

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

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

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

 

&random

&last

&top_comm

&top_rating

&top_views

 

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

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

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

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

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

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

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

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

&wordcut   Модификатор, отключающий обрезку текста новости до конца слова и включающий обрезку до заданного количества символов. Для активации модификатора достаточно его определить (например &wordcut=y)
$relatedpro   Модификатор активирует механизм отображения похожих новостей. Указывается только при подключении модуля в файле show.full.php для вывода похожих новостей. Для активации модификатора достаточно его определить (например $relatedpro=y;)


Теги шаблона

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

Обозначение тега шаблона Описание Примечание
{link-category} Ссылка/ссылки на категории  
{category} Наименование категории  
{category-icon} Иконка/иконки категорий При отсутствии иконки берётся картинка {THEME}/images/no_icon.gif
[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} Дата новости в пользовательском формате  
Block.Pro.2.5 Заголовок новости  
{title limit="X"} Заголовок новости, обрезанный до X символов.  
{text} Текст новости (аналог {short-story})  
{text limit="X"} Текст новости, обрезанный до указанного X количества символов, при этом обрезание текста происходит до последнего логического слова, а не обрывает текст на середине слова.  
{full-link} URL полной новости  
{comments-num} Количество комментариев к новости  
{views} Количество просмотров новости  
[edit] текст [/edit] Ссылка на редактирование новости  



Техническая поддержка модуля осуществляется только по указанным контактным данным

Но это не означает, что техподдержка будет оказана :)

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

ВНИМАНИЕ!

Все обсуждения модуля теперь только в этой теме или на сайте blockpro.ru

Похожие материалы

Комментарии

TITAN-UZ
TITAN-UZ 24 сентября 2012 00:49
Не хватает сортировки по дату добавления :(
ПафНутиЙ
ПафНутиЙ 26 сентября 2012 07:42
Цитата: mandarin
dle null на хостинге.

в этом и проблема)
модуль просто не хочет работать с null ))
ПафНутиЙ
ПафНутиЙ 26 сентября 2012 07:43
&last=y - отменили? )
Kox
Kox 1 октября 2012 19:31
Здравствуйте, а можно ли как-то выводить текст не с короткой новости а с полной. То есть вместо {short-story limit="50"} вывести {full-story limit="50"} ???
ПафНутиЙ
ПафНутиЙ 1 октября 2012 20:48
Замените везде short_story на full_story
dilus
dilus 5 октября 2012 05:11
Здравствуйте. Извиняюсь за повторение, но все же прошу помочь, возникла проблема:

{"error":"The file is not the image, or this file is damaged."}


Я понимаю, что проблема с какой-то из картинок и эта тема уже где-то обсуждалась, но сообщений очень много и найти то, что нужно проблематично.

Будьте так добры, ответе, как с этой бедой бороться?

Спасибо!
ПафНутиЙ
ПафНутиЙ 5 октября 2012 07:46
К сожалению 100%-ное решение на данный момент - отловить "плохую" картинку руками. возможно в версии 3.0 будет новый класс для работы с картинками, но обещать не буду ничего, модуль разрабатывается по мере возможности и наличию времени и желания.
dilus
dilus 5 октября 2012 15:36
Если вы имели виду отловить "плохую" картинку руками здесь - site.ru/uploads/blockpro, то я удалил там все картинки и результат отрицательный. Более того пытался отключать блок с картинками, не помогает. Пришлось удалить файл block.pro.2.php и только после этого сайт заработал, но уже, к сожалению, без вашего модуля.
ПафНутиЙ
ПафНутиЙ 5 октября 2012 19:51
отлавливать надо в новостях, а не в папке blockpro, туда попадают картинки после обработки модулем. А он не может получить обработанную картинку от thumb.class.php, кторый и "вешает" сайт, потому что ему подсоввывают "не картинку"
narvel
narvel 18 октября 2012 01:35
Павел? возникла проблема с отображением похожих новостей.

если не использовать ваш модуль - выводится как положено 5 новостей, а если использовать то выводятся вообще все

В чем может быть дело?

(сайт на денвере, дле 9.2 модуль 2.5)
ПафНутиЙ
ПафНутиЙ 18 октября 2012 08:30
Ну для начала неплохо обновить модуль. Ну и показать строку подключения, точнее код из show.full.php
narvel
narvel 18 октября 2012 22:43
Сделал так, как было сказано в инструкции

кусок кода:

/*Block.Pro - relatednews*/
$block_id = 'related_'.$row['id']; //Не трогать!
$relatedpro = "1"; //Не трогать!
$template="relatednews"; // Имя шаблона (можно менять)
include_once ENGINE_DIR . '/modules/block.pro.2.php';
/*Block.Pro - relatednews*/

if( $config['related_news'] ) {
ПафНутиЙ
ПафНутиЙ 19 октября 2012 09:40
Обновите модуль до актуальной версии (на сайте blockpro.ru) если не поможет - проблема в движке, модуль тестировался на 9.4, работает на 9.3. Но 9.2 - это уже слишком древняя версия.
Beliar
Beliar 21 октября 2012 18:37
Возникла вот такая ошибка: Fatal error: Call to a member function clear() on a non-object in /var/www/site.ru/engine/modules/block.pro.2.php on line 442

С чем это может быть связано и как устранить?

Сори за два комента, не туда тыкнул :(
ПафНутиЙ
ПафНутиЙ 21 октября 2012 20:16
Ответил на почту, но продублирую:
Ошибка возникает на последних версиях php и на нуллах. и опять не показали строку подключения.
Softg
Softg 29 октября 2012 23:33
А при отключении кеша(&nocache) в блоке,нагрузка на сервер сильно увеличится?
У меня например рандомом выводится 3 картинки и новости.
ПафНутиЙ
ПафНутиЙ 29 октября 2012 23:45
картинки создаются только один раз, в дальнейшем берутся из папки, а вот нагрузка на БД зависит от кол-ва новостей и посетителей. чем их больше тем больше и нагрузка.
Я советую ставить время жизни кеша хотя бы час.
Softg
Softg 30 октября 2012 01:55
При включенном кеше рандом будет обновляться через час, смысл тогда в нем?
Или это что-то у меня нето?
ПафНутиЙ
ПафНутиЙ 30 октября 2012 09:40
Я просто посоветовал) если слабый хостинг - сайт от рандома может и отвалиться.
shadow6630
shadow6630 31 октября 2012 00:05
- Поддержка парсинга изображений с других хостингов будет + парсинг изображений с доп полей, которые выводятся не в читом виде , а с стилями и т.д ? А то почти все изображения на сайте залиты на радикал.
- Расширенный парсинг доп полей будет: полная поддержка доп полей, парсинг как изображений так и текста ? А то хочется заменить новости с главной, блоками с последними новостями по категориям, проблема в том что некоторые новости созданы исключительно с доп полей, что не даст отобразить новость в блоке в нормальном виде.
ПафНутиЙ
ПафНутиЙ 31 октября 2012 00:13
Полноценной работы с удалёнными картинками не будет, слишком много нюансов в этом вопросе, я не готов к этому морально и технически, будет очень много ошибок скорее всего. )) Однако на данный момент реализована поддержка вывода оригинальных картинок с вешних источников. Т.е. если картинка лежит на радикале - она выведется в исходном размере (подогнать под нужный её можно средствами css)
С допполями сейчас работаю отдельно.
shadow6630
shadow6630 31 октября 2012 00:19
ПафНутиЙ,
если я верно понял, то в последней версии уже парсится оригинал изображения(ссылка) с других хостингов или только планируется выход этой версии ?
И когда планируется внести росширенную поддержку доп полей ?
ПафНутиЙ
ПафНутиЙ 31 октября 2012 00:23
альфа-версия модуля уже есть и вполе работоспособна )) но функционал пока скудный, всё что добавляю, нужно проверять - на это уходит много времени. Если интересует и хочется потестить: https://github.com/pafnuty/Block.Pro.3
ToDoS
ToDoS 31 октября 2012 10:35
Хочу сделать вывод случайных новостей.
Делал всё по инструкции...

Строку вставил в fullstory.tpl

{include file="engine/modules/block.pro.2.php?&block_id=333&template=plusani&random=y"}

Уникальный идентификатор блока: 333
(я так понял он задаётся произвольно?)
Название Шаблона: plusani

И Выдаёт ошибку
Fatal error: Call to a member function clear() on a non-object in /home/m/musicalsit/plusani/public_html/engine/modules/block.pro.2.php on line 431

Где я ошибся? Подскажите...
ПафНутиЙ
ПафНутиЙ 31 октября 2012 10:50
Ошибки нет, это косяк модуля. Проявляется на последних версиях php и на нулах, а может из-за каких-то других факторов.
Ждите новую версию.
ToDoS
ToDoS 31 октября 2012 10:54
А примерно когда будет новая версия?
Ad-min
Ad-min 31 октября 2012 19:56
Уважаемый, подскажите пожалуйста.. Почему у меня в блоке размер картинок в выводе в топ новостей, размер изображения не меняется( Т.е. ставлю 200х80 а выводит такого размера что и в малой новости(( другие настройки работают.. версия DLE 9.7
ПафНутиЙ
ПафНутиЙ 31 октября 2012 20:15
ToDoS,
Я бы тоже хотел знать )))
Ad-min,
строку подключения и ссылку на сайт покажите.
Ad-min
Ad-min 31 октября 2012 20:23
ПафНутиЙ,
{include file="engine/modules/block.pro.2.php?&block_id=block1&template=blockpro&random=y&show_cat=2,3,4,5&img_size=200x80"}

Внимание! У Вас нет прав для просмотра скрытого текста.
ПафНутиЙ
ПафНутиЙ 31 октября 2012 20:48
Фублин, исх код даже смотреть не хочется!

Добавить комментарий

Комментировать могут только зарегистрированные пользователи

Информация

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