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

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

Комментарии

Predator
Predator 10 августа 2012 15:31
Да я с вами всегда был согласен, сам понимал это.Время учит. После того как он не первй раз понятный, разборчивый вопрос удаляет , у меня нет желания и нервов писать.Я просто не понимаю как в его голову вдолбить, и тем более с каждым разом не то что бы желание пропадает одно и тоже писать, я уж пишу исходя из того чтоб мне узнать файл этот.

http://s2.hostingkartinok.com/uploads/images/2012/08/4baeb8db2c7ccb55989c1f035197d9c8.jpg
Одно жалко, не могу открыть больше 2 модальных окон чтоб показать виновника во всем. Главное пафунтий не причем и не мог быть. Так как человек он ,а не изверг.
Predator
Predator 19 августа 2012 19:39
Если изображение(анимация). Как сохранить анимацию при создании уменьшенной копии?
ПафНутиЙ
ПафНутиЙ 19 августа 2012 22:05
не создавать уменьшенную копию, а "сжимать" средствами css (width или height)
ankn
ankn 21 августа 2012 04:59
Приветствую. Пафнутий. Прежде всего хочу поблагодарить за такой модуль. А теперь к делу, я сделал вывод похожих новостей вашим модулем, но работает не так как надо, как сделать, чтобы в похожих не отображалась новость, на которой я сейчас и нахожусь собственно? Т.е сама на себя ставит ссылку в похожих. И как сделать, чтобы блок брал не из категории статьи, а похожие ?
Спасибо
ПафНутиЙ
ПафНутиЙ 21 августа 2012 08:04
воспользуйтесь генератором, сгенерируйте строку подключения с нужными параметрами.
exarh
exarh 21 августа 2012 11:49
если картинки новости находятся в нестандартной папке, а в любй другой, модуль бессилен их вывести.
OKyJIucT
OKyJIucT 21 августа 2012 12:07
6 пункт Основных возможностей модуля
Вывод уменьшенной копии картинки (в т.ч. и вместе с оригинальной картинкой) из короткой новости или дополнительного поля (картинки берутся только из папки uploads текущего сайта).
ПафНутиЙ
ПафНутиЙ 21 августа 2012 12:07
Спасибо КЭП.
Мы совсем не в курсе этого:
Вывод уменьшенной копии картинки (в т.ч. и вместе с оригинальной картинкой) из короткой новости или дополнительного поля (картинки берутся только из папки uploads текущего сайта).
exarh
exarh 21 августа 2012 12:11
так это же ужасно!
И если снова КЕП скажете, ужасно вдвойне!
Вы своим модулем , призванным расширить возможности, ограничиваете работу "движка".
Ведь, к примеру тот же тег topnews, в легкую выводит картинки из любой папки, лишь бы они были в самой новости.
Predator
Predator 21 августа 2012 12:26
Скажите пожалуйста. Как можно указать размер уменьшенной картинки только по ширине, а высота буди в зависимости от оригинала но так сказать соотносить с шириной. То есть высота у каждой картинки своя в зависимости от высоты оригинального изображения.
OKyJIucT
OKyJIucT 21 августа 2012 12:30
&img_size=100
OKyJIucT
OKyJIucT 21 августа 2012 12:31
но в этом случае картинка будет уменьшена по большей стороне, а не именно по ширине
ПафНутиЙ
ПафНутиЙ 21 августа 2012 12:51
А с каких пор topnews научился уменьшать картинки?
Вы бы прежде чем писать сначала подумали, почему так происходит. Вполне возможно вы бы пришли к выводу, что уменьшение картинок, лежащих непонятно где не совсем простая задача, особенно для говнохостинга. Так же я лично считаю, что хранение картинок для новостей НЕ на своём хостинге неправильно и глупо.
ПафНутиЙ
ПафНутиЙ 21 августа 2012 12:52
&img_size=100x5000
exarh
exarh 21 августа 2012 13:05
А кто сказал что научился уменьшать?
Однако никто нам не помешает в него вставить
<a href="{link}">{title}<img src="{image-1}" alt="{title}" style="max-width: 150px;" /></a>

и вывести. Ну да я не об этом...

А кто говорит про "непонятно где" или про не свой хост?

Вы бы прежде чем отвечать не додумывали!
Я веду речь о выводе из вполне определенной папки, на том же хосте где установлена DLE, пусть эта папка зовется, к примеру images43 и в новостях картинки берутся из этой папки
[img alt="" src="/images43/s97250005.jpg" align="" /]

Сам двиг, вышеприведенной мной конструкцией в topnews - это умеет.
Ваш блок, ограничен этим. Конечно, если это
не совсем простая задача
- для вас, то ...
ПафНутиЙ
ПафНутиЙ 21 августа 2012 13:15
Объясняю. В DLE есть папка uploads/posts/ по умолчанию использующаяся для заливки картинок в новости. Все остальный папки по умолчанию не предназначены для этого, отсюда это ограничение. Вы же дома не ставите фарфоровый заварочный чайник на газ, чтоб подогреть чай? Однако если этот чайник металлический - почему бы не поставить.
Поэтому проходим по ссылке форкаем репозиторий и делаем "металлический чайник" путём замены имени папки uploads на нужную.
Надеюсь доступно объяснил.
exarh
exarh 21 августа 2012 13:26
А если у меня таких папок images не одна?
images1
images2
...
никакого "металлического чайника" уже не сделаешь, путем замены.

А насчет движка DLE. в нем как раз нет такого ограничения. В новости можно выводить картинки из любых папок, "обозвАнных" как угодно. Более того, сам DLE воспринимает эти картинки своими тегами из этих любых папок.
Это именно вы напридумывали это ограничение.
ПафНутиЙ
ПафНутиЙ 21 августа 2012 15:29
Не нравится модуль - не используйте, есть же стандартный topnews, который работает лучше, тратит меньше оперативной памяти и т.д. и т.п., я никого не заставляю использовать модуль))
А убрать проверку расположения картинки вам может любой школо-программист.
exarh
exarh 21 августа 2012 15:37
Модуль отпад! Вот тут не надо!

А на счет школо-програмиста... я к тому разговор и вел, почему вы ввели проверку расположения.
ПафНутиЙ
ПафНутиЙ 21 августа 2012 16:37
Потому, что (как было написано выше), если картинки грузятся на сайт - то они попадают в папку uploads, т.к. в редакторе dle нет возможности выбрать папку для загрузки картинок. и в 99% случаев так и делается, вместе с тем, если картинка не в папке upload, то она в 99% случаев, на стороннем сервере. Всё просто)
А если картинка на стороннем сервере - класс, который используется для создания уменьшенных копий картинок не может её обработать и вываливает fatal error (потому что не предназначен для работы с удалёнными изображениями)
Predator
Predator 22 августа 2012 23:09
ПафНутиЙ,
Немного не то, тогда высота получается оригинальной.

На примере, есть много картинок с разной высотой. Я указываю только ширину, а высота разная но в пределах разумного. Высота тоже будит меньше, но уже от высоты оригинала зависеть и по ширине.
ПафНутиЙ
ПафНутиЙ 22 августа 2012 23:11
А вы пробовали такие настройки?
Predator
Predator 23 августа 2012 11:54
ПафНутиЙ,
Какие настройки?
240x*
240
230x5000
Все не то.
Predator
Predator 23 августа 2012 11:56
Predator,
Что такое? Удалите мои коменты, сори .Нашел выход.
Tomich
Tomich 16 сентября 2012 20:39
Добрый день, ув.ПафНутиЙ, тут уже кто-то писал, что иногда возникает ошибка в модуле:
{"error":"The file is not the image, or this file is damaged."}

у меня эта ошибка тоже возникла на странице:tv-zona.net/156-trk-ukraina-trk-ukrayina.html. Вся загвоздка в том, что раньше все работало и модуль работал и тут вдруг...
ПафНутиЙ
ПафНутиЙ 17 сентября 2012 10:53
значит появилась картинка неправильная или поврежденная.
Tomich
Tomich 18 сентября 2012 11:04
а как она появилась, если раньше ее небыло? это можно как-нибудь исправить?
ПафНутиЙ
ПафНутиЙ 18 сентября 2012 19:03
руками проверить все новости.
Tomich
Tomich 18 сентября 2012 19:58
извините, если я Вас уже достал, но как руками? как понять какая новость виновата, если во всех новостях картинки вроде нормальные...
mandarin
mandarin 23 сентября 2012 23:08
Подскажите в чем может быть проблема.
modules/block.pro.2.php on line 428
пытаюсь генерировать похожие новости в show_full.
dle null на хостинге.

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

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

Информация

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