DLE: Block Pro v3 RDN MOD
+1
DLE: Block Pro v3 RDN MOD
Небольшие наработки над block.pro

После того как в block.pro было добавлено склонение слов, я обнаружил что модуль крайне неэффективно использует возможности шаблонизатора DLE.
При каждой итерации цикла заполнения шаблона новостями он подгружает шаблон, итого вы получаете 40 загрузок шаблона при каждой генерации блока (без кеша)



История релизов:

3.3.6.0
Система была переписана, теперь шаблон загружается в память единожды и далее используется только его пере-компиляция.

Эта версия основана на билде 3.3.5.1 (04.08.2013) в который была так-же была добавлена переменная forceCache из-за которой не происходило кеширование блока на странице профиля пользователя. Версия уже включает патч на склонения слов.

3.3.6.2
- добавлены новые теги которые можно использовать в шаблонах:
[poll]выводит текст, если в новости есть опрос[/poll]
[fixed]выводит текст, если новость закреплена[/fixed]

Рассмотрим пример, вы хотите чтобы новости с опросами выделялись в списке новостей необычным шрифтом? Без проблем:
добавьте в вашем шаблоне:
[url={full-link}]{title}[/url]

Результат:
В нашей новости есть опрос!
DLE: Block Pro v3 RDN MOD

А вот эта новость какая-то важная!
DLE: Block Pro v3 RDN MOD

Ну а дальше ваша фантазия уже должна работать
Важный совет по подключению модуля, всегда при подключении указывайте параметр: &forceCache=y это гарантирует правильное кеширование модуля.

Обновление 3.3.6.3 (01.12.2013)
- добавлены новые теги которые можно использовать в шаблонах:
[edit-date] текст [/edit-date] 
{edit-date}
{editor}
{editor-e}
[edit-reason] текст [/edit-reason]
{edit-reason}
[checker] текст [/checker]


Пример использования в шаблонах:
<br/>[edit-date][b]Материал обновлен:[/b]<br/>{edit-date} - {editor}<br/>[edit-reason][b]Причина:[/b]<br/>{edit-reason}[/edit-reason]<br/>[/edit-date][checker][b]Допустил к публикации:[/b]<br/>{editor}<br/>[/checker]

DLE: Block Pro v3 RDN MOD


Так как автор модуля, переместив лишь пробелы в скобках, выпустил нерабочую версию 3.4.0 выпускаю свой мод на основе её:

Версия 3.5.0 (09.12.2013)

- Полностью восстановлена работоспособность модуля версии 3.4.0
- Исправлена и переделана работа сортировки типа Хит, теперь сортировка работает по следующему алгоритму: rating*100 + comm_num*10 + news_read (из версии 3.4)
- forseCache включен по умолчанию, больше не нужно прописывать его при подключении
- Новая переменная groupSuffix - если определена - будет создаваться отдельный кеш для каждой группы пользователей (из версии 3.4)
- Для новостей на модерации не отображался поиск похожих новостей
- titleLimit и textLimit перенесены в шаблоны {title limit="24"} {short-story limit="200"} {full-story limit="200"}
- добавлен параметр moderation, значение moderation=1 позволяет выводить новости только на модерации, значение moderation=2 позволяет выводить вообще все новости, без различия на модерации они или нет
- добавлен тег шаблона [not-approve][/not-approve] который выводит текст когда новость находится на модерации
- добавлен тег шаблона [approve][/approve] который выводит текст когда новость прошла модерацию
- добавлен тег шаблона [edit][/edit] который выводит всплывающее меню для редактирования новости, Пример шаблона новостей на модерации: [edit]{title limit="24"}[/edit]
- улучшена производительность основного запроса
- перестроение некоторых узлов
- добавлен параметр favorites, значение favorites=1 позволяет выводить закладки пользователя

Демонстрация некоторых возможностей:
DLE: Block Pro v3 RDN MOD

Вывод новостей на модерации и легкое их редактирование через контекстное меню
DLE: Block Pro v3 RDN MOD

Вывод последних новостей с новостями на модерации, новости на модерации выделены серым
DLE: Block Pro v3 RDN MOD

Вывод закладок пользователя:
DLE: Block Pro v3 RDN MOD


Версия 3.6.0 (09.12.2013)
- переписана подсистема запросов
- упрощена работа с аватаркой автора новости, более не требуется подключать её в параметрах.
- множественные исправления
- вообще не работало кеширование похожих новостей (и в оригинальном block.pro 3.4.0)
- появилась возможность инжектироваться в посторонние блоки, что позволит залезать в самые труднодоступные места
- добавлен параметр: inject указывает модулю выводить результат внедряясь в чужой модуль.
- добавлен параметр content, который указывает в какую часть результата модуль должен инжектироваться по умолчанию использует prepend, но можно задать параметр content=append что соотвественно будет выводить модуль после всего блока
- добавлен патч вывода субкатегорий https://github.com/lapuh/Block.Pro.3/commit...3308fb0b9145337
d46a

Демонстрация инжектирования похожих новостей в панель пользователя:
DLE: Block Pro v3 RDN MOD


DLE: Block Pro v3 RDN MOD

Строка подключения выглядела следующим образом:
?template=relatednews&related=this&sort=none&inject=login_panel&content=append"


3.7.0 (03.01.2014)
- С наступившим новым Годом.
- Небольшая коррекция логики кода.
- Добавлен опциональный расширенный режим работы с похожими новостями. Включается параметром related_mode=1
Пример подключения:
?template=relatednews&related=this&related_mode=1&sort=none



Суть работы расширенного режима работы с похожими новостями:
Стандартный режим поиска похожих новостей постоянно делает поиск в базе данных по тексту в новости, я решил немного оптимизировать это дело.
При выводе похожих новостей в новом режиме используется таблица related_ids в которой хранятся стандартные похожие новости от DLE, если стандартных похожих новостей нет (такое бывает при отключенном блоке похожих новостей dle), то сохраняем результаты работы стандартного режима в таблицу related_ids что делает её идентичной той что есть в дле. При таком режиме работы можно отказавшись от использования Block Pro вернуться к стандартному выводу похожих новостей DLE и ссылки при этом не посыпятся.

3.8.0 (07.01.2014)
- С рождеством всех.
- Небольшие фиксы в коде, вывод новостей из подкатегорий включается теперь через &subCats=1 а не &subCats=y
- Добавлен модификатор &no_main=1. Отображает новости которые не попали на главную.
- Добавлен модификатор &no_rating=1. Отображаем новости с рейтингом 0 или с отключенным рейтингом. (типо оцените пожалуйста)
- Добавлен модификатор &no_comm=1. Отображаем новости с количеством комментариев 0 или с отключенными комментариями. (типо материалы ждут вашего коммента)
- Добавлен модификатор &search=значение. Представляет из себя двух-режимный поиск по тексту новостей, заголовкам и xfields. Подробнее об этом:
Поиск в режиме 1: Частичные совпадения слов (через like), для этого укажите &search=%значение%
Поиск в режиме 2: Полнотекстовый поиск (через match), для этого укажите &search=значение

Пример работы:
вывод новостей с флеш-роликами:
?template=blockpro&day=7&sort=date&search=dle_flash_begin"}


вывод новостей в которых есть видео:
?template=blockpro&day=7&sort=date&search=dle_media_begin"}


вывод новостей в которых есть изображение:
?template=blockpro&day=7&sort=date&search=dle_image_begin"}


вывод новостей в которых встречается фраза "размер":
?template=blockpro&day=7&sort=date&search=%размер%"}


3.8.1 (23.01.2014)
- Исправлена работа переменной &cacheLive

3.9 (27.01.2014)
- Добавлена переменная &numtags позволяющая выводить новости по тегам из текущей новости.
- Добавлена переменная &noinfo



Оф топик на форуме:
http://be.rdn-team.com/forum/showtopic-398/


Внимание! Данная статья была написана более полугода назад, актуальность материала и состояние жизни ссылок не гарантируется! Воспользуйтесь дополнительными параметрами для поиска необходимого вам контента! Приносим свои извинения...
Ukraine  Комментарий #1, добавлен: 23 января 2014, 22:50 [2] [Q] [#]
0
Так а разве кеш не включен по умолчанию в модуле?

Cтатус: Генератор идей для Blockpro by Daivz :: изменен: 2014-02-01 11:11:42
Russian Federation  Комментарий от Автора #2, добавлен: 24 января 2014, 11:03 [2] [Q] [#]
0
Кеш по умолчанию включен, cacheLive позволяет задавать время жизни кеша в минутах. По умолчанию время жизни кеша как и в дле 2 часа, но он автоматически очищается при некоторых событиях, например добавление новой новости или редактирование прошлой.

Ukraine  Комментарий #3, добавлен: 26 января 2014, 23:14 [2] [Q] [#]
0
В новости есть теги. такие как: 2013, Россия, США, боевик, комедия, Дэнни Трехо, Мишель Родригес, Эмбер Хёрд, Демиан Бишир, Мэл Гибсон, София Вергара, Чарли Шин, Леди Гага, Алекса ПенаВега, Антонио Бандерас

Возможно ли добавить в модуль что бы выводил новости по первому, второму, определенному тегу. И только в данной новости.
В данной новости я так понимаю с помощью this

Подключения типа:
&teg=1
&teg=2
&teg=n
Можно также диапазон: &teg=1-2

***добавлено через 4 минуты, 2 секунды***

http://be.rdn-team.com/ как сюда зарегаться для добавления идей ? to_take_umbrage

Cтатус: Генератор идей для Blockpro by Daivz :: изменен: 2014-02-01 11:11:42
Russian Federation  Комментарий от Автора #4, добавлен: 26 января 2014, 23:56 [2] [Q] [#]
0
daiv,
там база от логинми можешь авторизоваться под тем же логином что и был, а регистрация не работает чтоли?

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

Ukraine  Комментарий #5, добавлен: 26 января 2014, 23:45 [2] [Q] [#]
0
Информация
Администратором сайта была запрещена регистрация нескольких аккаунтов на сайте с использованием одного и того же IP. Ваш IP адрес уже использовался на другом аккаунте.

Cтатус: Генератор идей для Blockpro by Daivz :: изменен: 2014-02-01 11:11:42
Russian Federation  Комментарий от Автора #6, добавлен: 26 января 2014, 23:59 [2] [Q] [#]
0
daiv,
а, это, отключил. Попробуй зайти под прошлыми данными.

Ukraine  Комментарий #7, добавлен: 27 января 2014, 00:02 [2] [Q] [#]
0
Прошлые данные это авторизация через ВК)

Cтатус: Генератор идей для Blockpro by Daivz :: изменен: 2014-02-01 11:11:42
Russian Federation  Комментарий от Автора #8, добавлен: 27 января 2014, 00:12 [2] [Q] [#]
+1
Цитата: daiv
Прошлые данные это авторизация через ВК)

Так сделай восстановление пароля, там мыло ****41@yandex.ru

Ukraine  Комментарий #9, добавлен: 27 января 2014, 00:23 [2] [Q] [#]
0
ДА уже новый акк зарегал )

Cтатус: Генератор идей для Blockpro by Daivz :: изменен: 2014-02-01 11:11:42
Ukraine  Комментарий #11, добавлен: 27 января 2014, 19:47 [2] [Q] [#]
0
Теги отлично работают. в 3.9. Благодарю
А вот как работает без сортировки не пойму. По умолчанию модуль как делает?

Cтатус: Генератор идей для Blockpro by Daivz :: изменен: 2014-02-01 11:11:42
Russian Federation  Комментарий от Автора #12, добавлен: 27 января 2014, 20:25 [2] [Q] [#]
+1
если &sort не указан он сортирует по умолчанию параметром top

Ukraine  Комментарий #13, добавлен: 31 января 2014, 21:23 [2] [Q] [#]
+1
Накатал на форуме еще одну идею для модуля. thumbup0

Cтатус: Генератор идей для Blockpro by Daivz :: изменен: 2014-02-01 11:11:42