» » Block.Pro 2.4 - расширенный вывод блоков с новостями для DLE (устарел)

Block.Pro 2.4 - расширенный вывод блоков с новостями для DLE (устарел)

4.12
159
33 643
Block.Pro 2.4 - расширенный вывод блоков с новостями для DLE (устарел)


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


Модуль распространяется бесплатно, и как следствие (а так же по причине отсутствия желания оказывать бесплатную теxподдежку модуля) не ждите от меня исполнения каждого вашего чиxа, возможно исправлю какие то глюки (если таковые найдутся). Будет желание - сделаю несколько прмеров вывода новостей через модуль.
Демо от меня не будет! Если Вам лень установить и посмотреть модуль на своём сайте - ваши проблемы.
В остальном модуль прост и непритязателен для знающиx людей, а новичку не нужно в него соваться, всё равно не поймёт. Достаточно того, что будет написано ниже.

Особенности модуля:


- Лёгкая установка модуля, подключение через include.
- Все настройки модуля являются необязательными, указываются непосредственно в строке подключения блока.
- Кеширование каждого блока в отдельный файл, картинки кешируются в отдельную папку.
- Произвольное количество блоков с топами, случайными новостями или последними новостями на страницах.
- Неограниченное количество вариантов вывода блоков за счёт использования шаблонов.
- Расширенная работа с дополнительными полями.
- Оформление модуля производится через tpl и CSS.
- UPD 03.01.2012 Вывод похожих новостей.

Возможности модуля:



Параметры строки подключения:
Минимальная строка подключния должна выглядеть так:
{include file="engine/modules/block.pro.2.php?&block_id=XXX&template=blockpro"}
где XXX - уникальное для каждого блока значение.

&block_id=block1 - Обязательная переменная! Идентификатор блока, уникальное значение для каждого блока.
&template=blockpro - Обязательная переменная! Имя шаблона.

&day=30 - Берём новости за последние 30 дней, Если указать ноль - будут браться новости за всё время (параметр не учитывается, если выводятся последние новости).
&category=1,2,3 - Будут браться новости только с категорий 1, 2 и 3 (начиная с версии 2.3 категории указываются через запятую как например в custom) по умолчанию выводятся все категории.
&bad=y - Превращает список категорий в список исключаемыx категорий.
&news_num=10 - количество новостей в блоке.
&img_xfield=imgae - Имя дополнительного поля с картинкой для создания уменьшенной копии. В данном дополнительном поле должна быть ТОЛЬКО прямая ссылка на изображение формата jpg, jpeg, gif или png.
&img_size=60x60 - Размер уменьшенной копии изображения, возможно задавать как максимальный размер по большей стороне (тогда картинка будет пропорционально уменьшена), так и конкретный размер в формате "шмрина"x"высота" (тогда картинка будет уменьшенна, а излишки обрезаны).
&random=y - Вывод новостей в случайном порядке.
&last=y - Последние новости.
&wordcut=y - Содержимое новости будет обрезано до определённого количества символов (по умолчанию - 80), а если не определять эту переменную, то до конца слова, попадающего в диапазон символов (другими словами конец строки будет не "прив..." а "привет..."

Теги шаблона:
{title limit="30"} - Заголовок, обрезанный до 30 символов.
Block.Pro 2.4 - расширенный вывод блоков с новостями для DLE (устарел) - Полный заголовок.
{text limit="50"} - Краткое содержимое, обрезанное до 50 символов.
{text} - Содержимое краткой новости как есть.
{category-icon} - выводит иконку или иконки (если несколько категорий) новости.

Остальные теги аналогичны таковым в шаблоне shortstory.tpl (все, возможные для использования, теги указаны в шаблоне blockpro.tpl)


Установка:


1. Копируем файл block.pro.2.php в папку /engine/modules/.
2. Копируем файл blockpro.tpl в папку с шаблоном.
3. Создаём в папке /uploads/ папку blockpro и прописываем ей CHMOD 777 создание папки не обязательно начиная с врсии 2.4
Это для картинок к новостям.
4. Подключаем модуль строкой
{include file="engine/modules/block.pro.2.php?&block_id=XXX&template=blockpro"}

где XXX - уникальный для каждого блока идентификатор, цифры или буквы, разницы нет.

4.Всё готово! Далее настраиваем шаблон и CSS под себя и радуемся жизни.

UPD 03.01.2012



Подключение модуля для показа похожих новостей

1. Идём в админку отключаем вывод похожих новостей на сайте.
2. Открываем файл engine/modules/show.full.php
Находим строку:
if( $config['related_news'] ) {


и ВЫШЕ вставляем:
/*Block.Pro - relatednews*/
$template="relatednews";
$block_id = 'related_'.$row['id'];
$relatedpro = "1";

include_once ENGINE_DIR . '/modules/block.pro.2.php';
/*Block.Pro - relatednews*/


Где:
relatednews - имя шаблона, который будет использоваться для вывода похожих новостей, ожно заменить на свой.
$block_id и $relatedpro крайне не желательно трогать и менять, можно и поломать весь вывод новостей.
Сразу после $relatedpro = "1"; можно писать дополнительные параметры вызова модуля в соответствии с правилами написания php. Например для изменения количества новостей в блоке, пропишите $news_num = 5;

UPD 14.01.2012



- Исправлена ошибка, работы с категориями. При указании категорий, из которых следует выводить новости, они наоборот скрывались.
- Изменен синтаксис перечисления категорий для вывода/скрытия. Теперь категории нужно перечислять через запятую, по аналогии с тем же custom к примеру.

UPD 28.01.2012


- Добавлено автоматическое создание папки blockpro и установка необходимых прав, даже если они были сбиты (например при переезде на новый хостинг).
- Изменена методика создания уменьшенных копий картинок - теперь скрипт берёт только те картинки, которые лежат в папке uploads сайта (все картинки, которые загружаются на сайт обычно туда и попадают). Если картинка будет лежать на сторонем сайте она будет проигнорирована и вместо неё выведется заглушка. Это сделано в целях безопасности сайта и устраниения проблемы с белым листом (Not Supported File! Thumbnails can only be made from .jpg, gif and .png images!), которая возникала при определённых обстоятельствах.
За изменения в этой версии отдельное спасибо отличному пограммисту Роману (Giseg), если бы не он - вряд ли были бы эти важные исправления!

ВНИМАНИЕ!

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

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

Комментарии

TITAN-UZ
TITAN-UZ 4 декабря 2011 21:49
Не показывает рисунку из доп. полей! Выводит /uploads/blockpro/60x60_boxsmall.jpg
ПафНутиЙ
ПафНутиЙ 4 декабря 2011 22:07
Вы часом не падали в детстве? Неужели я за вас ещё должен придумывать, как ссылку на картинку превратить в картинку?
Heon
Heon 5 декабря 2011 19:27
Установил пишет

Извини дружище, но без шаблона я не умею работать, советую в строке подключения указать: &template=blockpro
Только не забудь почистить кеш DLE!

Подключил по стандарту

{include file="engine/modules/block.pro.2.php?&block_id=111&template=blockpro"}
ПафНутиЙ
ПафНутиЙ 5 декабря 2011 21:36
Значит шаблон в папку не залили.
{include file="engine/modules/block.pro.2.php?&block_id=111&template=shortstory"}
для надёжности)
или лучше
{include file="engine/modules/block.pro.2.php?&block_id=111&template=topnews"}
Heon
Heon 5 декабря 2011 21:47
Тоже самое пишет,кешь все чистил, и blockpro залит в папку с шаблоном,или у файла шаблона должно быть другое место не в шаблоне,и ваш совет пробывал всеравно не хочет
OKyJIucT
OKyJIucT 6 декабря 2011 14:48
Добрый день. Проблема в следующем. При добавлении на страницу четырех блоков с различным block_id и параметром random=y выводится 4 раза одна и та же новость.
При чем при обновлении страницы она не меняется, а меняется только при очистке кеша движка.

{include file="engine/modules/block.pro.2.php?&news_num=1&block_num=444&img_size=105x150&template=blockpro&random=y"} - моя строка

Подскажите, может я неправильно что-то сделал, или это особенность модуля?

И можно ли как то сделать вывод новостей горизонтально, а не вертикально? Это избавит от необходимости делать блока, а вывести все одним. Спасибо
OKyJIucT
OKyJIucT 6 декабря 2011 15:10
Разобрался с рандомным выводом новостей. Просто отключил кеш в строке
$config['allow_cache'] = "yes";
Остальные вопросы отпали сами собой. извиняюсь за беспокойство smile
prewed
prewed 6 декабря 2011 17:06
а можно вывести по рейтингу или по комментариям новости?
ПафНутиЙ
ПафНутиЙ 6 декабря 2011 22:09
И автоматически добавили на сайт +4запроса*каждый посетитель*каждое обновление страницы.
Т.е. если у вас 10 посетителей прошли по 10 страницам сайта - полуаем 4000 дополнительных запростов, классно? А если 100 посетителей посетят по 20 страниц, да ещё произойдёт это в огрниченный промежуток времени, скажем 20 минут? Имеем ~66 запросов в секунду. Ваш сервер готов к этому?
ПафНутиЙ
ПафНутиЙ 6 декабря 2011 22:09
можно
OKyJIucT
OKyJIucT 6 декабря 2011 23:22
10*10*4=400, но общий смысл мне понятен. Как можно снизить количество запросов, и чтобы при этом при каждом обновлении показывались разные новости, если вообще такое возможно в данном модуле?
ПафНутиЙ
ПафНутиЙ 6 декабря 2011 23:44
Кеш блока очищается в момент добавления новости/комментария (забыл об этом в новости указать)
Так что если сайт живой - будет нормальный рандом.
OKyJIucT
OKyJIucT 6 декабря 2011 23:49
Спасибо, этого вполне достаточно. :)
prewed
prewed 7 декабря 2011 13:19
а как? в параметрах этого не увидел
ПафНутиЙ
ПафНутиЙ 7 декабря 2011 18:07
А вот это уже другой вопрос. В стандарте такого функционала нет.
Но если подумать, поизучать модуль - легко найдёте как сделать.
а так - за ваши деньги любой каприз.
Я уже говорил, что бесплатной поддержки модуля не будет. Только багфиксы, и то если желание будет.
OKyJIucT
OKyJIucT 8 декабря 2011 00:54
prewed, я не специалист PHP, знаю минимум, но если провести аналогию в модулем r_news, то чтобы получить самые комментируемые или читаемые новости, достаточно добавить нужную строку

if ($comm) $sort_var = 'comm_num DESC'; //для коментируемых
if ($read) $sort_var = 'news_read DESC'; //для самых читаемых

после if ($last) $sort_var = "date DESC";

Подключать по аналогии с last и random, то есть чтобы получить самые комментируемые новости, добавляем в строку вызова &comm=y а самые читаемые - &read=y
Проверил у себя &read=y - работает отлично
ПафНутиЙ
ПафНутиЙ 8 декабря 2011 08:08
Я же говорил, что просто всё)
OKyJIucT
OKyJIucT 8 декабря 2011 15:04
Кстати, обнаружил один глюк - если новость не относится к какой-либо категории, то картинка не отображается.
kovalenko3331
kovalenko3331 8 декабря 2011 21:54
ПафНутиЙ, спасибо за модуль, как всегда на высоте. fellow
yarik-1996
yarik-1996 9 декабря 2011 15:42
Как вывести что больше просмотрели!!
OKyJIucT
OKyJIucT 9 декабря 2011 15:45
В комментарии номер 1230 я написал
prewed
prewed 9 декабря 2011 18:21
спасибо. для самых читаемых отображает верно, а вот для комментируемых не работает.

а нет, все в порядке. спасибо =)
robocop
robocop 10 декабря 2011 23:20
Спасибо за модуль! очень полезная штука!
Назрел вопрос: хочу сделать внутри категории вывод новостей. Можно ли как-то передавать в скрипт id категории, что бы выводить внутри нее новости только этой категории? Например, у меня на главной выводятся новости из всех категорий, захожу в категорию 1 - в ней выводятся только из категории 1, захожу во вторую - из категории 2 и тп. Просто при подключении цифру не поставишь, категорий ооочень много (больше 150). Вот и думаю, может можно как-то определять, внутри какой категории находимся и уже эту переменную подставлять в адрес подключения?
TITAN-UZ
TITAN-UZ 12 декабря 2011 04:46
Как исключит последний новость из списка! альтернатива

{custom category="1" template="shortstory" aviable="main" from="0" limit="1" cache="yes"}
Awwa
Awwa 12 декабря 2011 13:06
А у меня вот что выводится
[xfgiven_text]

[xfvalue_text]
[/xfgiven_text] [xfgiven_image]

[xfvalue_image]
[/xfgiven_image]

17 ноября 2011
Подскажите, где подправить.
И дата мне совсем не нужна. Как убрать ?
ПафНутиЙ
ПафНутиЙ 12 декабря 2011 19:03
robocop,
На данный момент только тегами [category= ]

TITAN-UZ,
по аналогии с custom.

Awwa,
Так и должно быть. Шаблон надо под себя править.
opener
opener 16 декабря 2011 15:45
ПафНутиЙ, ты лучший! Столько для ДЛЕ комьюнити сделал! А вторая версия блока вообще чудо!

Такой вопрос: если у сайта будет посещаемость 5 тысяч хостов в сутки, и установлено 3 разных блока с выводом новостей на главной, не вызовет ли это огромной нагрузки на базу данных? А если с посещаемостью 20 тысяч в сутки?

Хостинг джино, интересно, возникнет ли необходимость в премиум-аккаунте. В новости ничего не говорится, как модуль ведет себя на сайтах с большой посещаемостью (код модуля не изменен, всё дефолтно)
snap13
snap13 17 декабря 2011 16:30
{include file="engine/modules/block.pro.2.php?&block_id=n1&template=catnews&category=103&news_num=1"}


Что не так?
ПафНутиЙ
ПафНутиЙ 17 декабря 2011 19:39
opener,
Хз что за хостинг, но скорее всего модуль положит его (если это не VPS или более)
для высокой посещаемости/нагрузки и слабого хостинга рекомендую использовать предыдущую версию с отключением картинок, а лучше вообще отключить всё лишнее в движке, и не использовать сторонних модулей.
Если же нормальный хостинг - он даже не особо заметит нагрузку и от 3-4 сайтов с 10 блоками ))))

snap13,
всё ок.
kol4erukij
kol4erukij 21 декабря 2011 03:41
Для корректной работы модуля необходимо, чтобы картинки были залиты на сайт. Если заливать не на сайт, то получается такая хрень:
Есть на главной странице блок, который выводит новости из категории "МУЗЫКА".
Например, в кат."МУЗЫКА" была новость с картинкой 123.jpg, в папке "blockpro" хранится ее уменьшенная копия 123.jpg. Потом кто-то добавляет новость в кат."ПОРНО" с картинкой тоже 123.jpg, модуль создает уменьшенную копию этой картинки 123.jpg, удаляя при этом существующую старую картинку 123.jpg. Можно представить удивление пользователей, когда в блоке с музыкой они увидят жесткий половой акт под заголовком "Земфира - Прости меня моя любовь" (возможны варианты wink). Подобное сегодня произошло у меня на сайте, правда с меньшими последствиями.
При заливке на сайт картинки переименовываются, даже если все они были одинакового названия и все ОК. Но на сайт заливать не хочется.

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

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

Информация

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