Block.Pro.2.5

29.03
334
38 235
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

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

Комментарии

ПафНутиЙ
ПафНутиЙ 28 июня 2012 16:52
Это уже давно реализовано. Просто настройте строку подключения.
TEJlO
TEJlO 28 июня 2012 17:03
{include file="engine/modules/block.pro.2.php?&block_id=block1&template=blockpro&day=1&top_views=y&news_num=4&img_size=54x54&img_xfield=imgshort&nocache=y"}

Так показывает только те новости, которые были опубликованы за 1 сутки

{include file="engine/modules/block.pro.2.php?&block_id=block1&template=blockpro&day=0&top_views=y&news_num=4&img_size=54x54&img_xfield=imgshort&nocache=y"}

а так все новости

а надо чтобы просмотры учитывались только за 1 день
Как правильно сделать тогда?
ПафНутиЙ
ПафНутиЙ 28 июня 2012 19:28
Цитата: TEJlO
а надо чтобы просмотры учитывались только за 1 день

вот с этой фразы надо было начинать, теперь я вас понял)
Такой выборки модуль сделать не может. Скорее всего для реализации подобного функционала нужно писать отдельный хак. Я, если честно, не представляю даже каким образом это можно сделать.
TEJlO
TEJlO 28 июня 2012 19:45
ПафНутиЙ,
Cпасибо, все ясно.
Модуль отличный, чето не могу кошелек вебмани ваш найти, на дальнейшее развитие кинуть бы чуток )
ПафНутиЙ
ПафНутиЙ 28 июня 2012 20:07
Да, надо бы где нибудь опубликовать. Наши люди не имеют свойства "кидать на развитие", а чаще и вообще не уважают чжой труд, поэтому и платёжных контактов у меня на этом сайте нет)
Вообще вот тут есть http://dle-faq.ru/#donate
TEJlO
TEJlO 28 июня 2012 20:12
ПафНутиЙ,
В этом вся Русская нация
shuma
shuma 28 июня 2012 21:53
брал код из файла show.full.php и вставлял в block.pro.2.php
Вот этот код:

if( $row['allow_rate'] ) { 
$tpl->set( '{rating}', ShowRating( $row['id'], $row['rating'], $row['vote_num'], $user_group[$member_id['user_group']]['allow_rating'] ) );
$tpl->set( '{vote-num}', $row['vote_num'] );

} else { 
$tpl->set( '{rating}', "" );
$tpl->set( '{vote-num}', "" );
}

Или я что то не то сделал?
ПафНутиЙ
ПафНутиЙ 28 июня 2012 21:58
Цитата: shuma
брал код из файла show.full.php и вставлял в block.pro.2.phpВот этот код:
if( $row['allow_rate'] ) {
$tpl->set( '{rating}', ShowRating( $row['id'], $row['rating'], $row['vote_num'], $user_group[$member_id['user_group']]['allow_rating'] ) );
$tpl->set( '{vote-num}', $row['vote_num'] );

} else {
$tpl->set( '{rating}', "" );
$tpl->set( '{vote-num}', "" );
}
Или я что то не то сделал?

вообще в модуле есть уже функционал вывода рейтинга. ничего вставлять в файл одуля не требуется, достаточно вывести тег в шаблон.
shuma
shuma 28 июня 2012 22:01
Но просто тегом {rating} ничего не выводится. Отображается необработанные тег
ПафНутиЙ
ПафНутиЙ 28 июня 2012 22:40
версия модуля, версия DLE, строка подключения.
shuma
shuma 28 июня 2012 22:52
DLE 9.5, BlockPro 2.6

{include file="engine/modules/block.pro.2.php?&block_id=2&template=blockprofilm&news_num=5&img_xfield=imgfilm&category=3&img_size=120x170"}
ПафНутиЙ
ПафНутиЙ 28 июня 2012 22:57
Проверил на стандартном шаблоне - работает.
shuma
shuma 28 июня 2012 23:14
Решил проверить на стандартном шаблоне, работает. Потом в настройках изменил обратно на свой шаблон и после этого все заработало. Спасибо за то, что упомянул про стандартный шаблон:)
ahab4ik
ahab4ik 30 июня 2012 14:28
Скажите пожалуйста. Делаю базу игр, есть категории:
База игры
Под категория:
Игра на букву A.
Так вот делаю вывод игр на букву А строкой: {include file="engine/modules/block.pro.2.php?&block_id=games&template=blockpro&news_num=30&show_cat=this&cache_live=360"}, при переходе в под категорию Игра на букву А мне пишет: По заданным критериям материалов не обнаружено, хотя в категории есть игра. Помогите, что не так?
ПафНутиЙ
ПафНутиЙ 30 июня 2012 22:38
Модуль берёт новость из текущей категории. если у категории id=1 у подкатегории id=2 и новость находится в категории id=2. То в id=1 модуль её не выведет.
Predator
Predator 5 июля 2012 09:15
Если картинка была в новости, но потом её не стало. При открытии страницы появляется ошибка, можно ли её канибуть загладить?
ПафНутиЙ
ПафНутиЙ 5 июля 2012 13:00
да. кеш очистить и картинку удалить из папки uploads/blockpro.
grek
grek 9 июля 2012 11:48
а как сделать чтоБ 10топ новостей dle выводил из нужных катигорий а не нужные игнорировал я чтот не понял как это сделать на Block.Pro.2.5.???????
ПафНутиЙ
ПафНутиЙ 9 июля 2012 11:56
Все обсуждения модуля тут
P.S. используйте версию 2.6 и генератор строк подключения.
Вывести можно либо указанные категории либо не выводить указанные. Перечисляйте через запятую нужные категории (или указать игнорируемые если их меньше) и всё.
grek
grek 9 июля 2012 12:24
Эт ясно но я не могу понять что ку да Подключить мод я установил А вот чб топ 10 сортировал не пойму что куда ПИСАТь ???? я Запутолся (
OKyJIucT
OKyJIucT 9 июля 2012 18:02
Добрый день, подскажите, существует ли возможность выводить последние 10 новостей, но в обратном порядке, Чтобы свежие выводились в конце? Спасибо
OKyJIucT
OKyJIucT 9 июля 2012 18:03
Собственно нашел этот функционал в настройках конкретной категории (мне только для одной надо было).
BR0kEN
BR0kEN 10 июля 2012 07:02
Павел, не корректно работает подключение в fullstory. Изображение не выводиться и заменяется на заглушку. Ранее, страницы 2-3 назад, об этом писал Assada. Пробовал подключать как related-news так и простой вывод.

Версия DLE: 9.0
Yamakasi
Yamakasi 17 июля 2012 17:03
Привет, недавно стала выходить вот такая ошибка:
Not Supported File! Thumbnails can only be made from .jpg, gif and .png images!

То есть как я понял ругается формат изображения, но я так и не понял на что именно, вроде всё ок, скрины из доп. полей они все jpeg, jpg, png или gif.
блок настроен вывод за неделю по просмотру, вот стал так выдавать и сайт не грузится, временно отключил из тех разделов откуда ругается, но решить проблему надо, у кого какие советы есть?
ПафНутиЙ
ПафНутиЙ 17 июля 2012 17:13
такая вешь происходить только в одном случаи - невозможность прочитать файл. (как правило, когда картинка находится на другом ресурсе.)
Yamakasi
Yamakasi 17 июля 2012 18:45
Цитата: ПафНутиЙ
такая вешь происходить только в одном случаи - невозможность прочитать файл. (как правило, когда картинка находится на другом ресурсе.)

Вы совершенно верны, все скрины расположены на удалённом сервере и всегда там были...
Дело в том, что пока блок не обновился, как писал уже выше в неделю 1 раз обновляется, он работал корректно и обычно все скрины располагались на тех же аналогичных удалённых сайтах!

Как можно решить данную проблему?

Может какой то удалённый сервер удалил скрин, но вроде все срины на месте и отображаются у меня ((( А также я как заметил в уплоад папаке, есть папка блокпро и там лежат скрины тоже, не может дело в том, что оттуда прочитать не может или..?
Yamakasi
Yamakasi 17 июля 2012 19:51
также есть папка в уплоаде, папка блокпро как я уже писал, а как удалять файлы оттуда и как она вообще служит, я конечно понимаю, то что она для временного хранения файлов привью, но там кол. фоток превышает, чем вывод самих блоков и удаляются ли там они сами как нить по времени или как?

Просто выше описанной проблемой, я думаю может там в папке уплоада лежит скрин какой то который глючит, вот и глюк даёт, хотел попробовать удалить, но увы результат к 0, что скажете?
ПафНутиЙ
ПафНутиЙ 17 июля 2012 20:01
Нет. там не может быть проблем.
В папку blockpro складываются только уменьшенные копии картинок (сама эта папка не очищается, только ручками - при необходимости. Поэтому и картинок там больше чем выводимых модулем блоков.).
Модуль не предназначен для работы с удалённыма изображениями. Я об этом неоднократно писал, в т.ч. в документации.
Yamakasi
Yamakasi 17 июля 2012 21:41
ПафНутиЙ,
Цитата: ПафНутиЙ
(сама эта папка не очищается, только ручками - при необходимости. Поэтому и картинок там больше чем выводимых модулем блоков.).

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

Цитата: ПафНутиЙ
Модуль не предназначен для работы с удалённыма изображениями. Я об этом неоднократно писал, в т.ч. в документации.

Думаю стоит в будущей версии это учесть, так как многие сайты работают с удалёнными изображениями, а также не пойму в чём тут загвоздка, что она будет на сайте или удалённая?
Заранее спасибо за реализации и за ответы!
ПафНутиЙ
ПафНутиЙ 17 июля 2012 22:13
Не разу не встречал файловый менеджер, не способный удалить файлы с собственного хостинга)

по поводу работы с удалёнными изображениями есть свои сложности, преодолеть которые я самостоятельно не смогу (я всё таки не программист). Если найдёте человека, который сможет сделать нужный функционал - я с радостью ему заплачу за работу))

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

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

Информация

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