ПафНутиЙ-Блог » Модули » BlockPro — модуль профессионального вывода новостей для DLE

BlockPro — модуль профессионального вывода новостей для DLE

28.09
165
24832
BlockPro — модуль профессионального вывода новостей для DLE


Рад представить вам принципиально новую версию одного из лучших модулей для DLE.
Модуль работает в два раза быстрее, чем { custom }, а его возможности и гибкость гораздо шире чем у Block.Pro.3.

Требования к системе


Версия DLE: 10.2 и выше (Поддержка ранних версий пока не планируется.)
Поддерживаемая кодировка: UTF-8
Версия php: 5.3 и выше
Автор: ПафНутиЙ
Максимальная цена: 840р (про скидки ниже).


Почему принципиально новая версия?


Потому, что модуль имеет ряд серьёзных отличий не только от предыдущей версии, но и вообще от всего, что делалось ранее.
- Собственный шаблонизатор. BlockPro использует шаблонизатор fenom, который работает быстрее встроенного, при этом имеет на порядок больше возможностей.

- Собственный класс для работы с БД. Класс SafeMySQL позволяет избавиться от лишних проверок данных, поэтому код модуля выглядит более лаконичным, а работа безопасна.

- Продуманная AJAX навигация. Можно использовать неограниченное число блоков с новостями, имеющими навигацию на любой странице, при этом каждый блок не будет зависеть от остальных, а страницы будут кешироваться. Для удобства использования есть 4 варианта отображения навигации, а изменить внешний вид кнопок навигации очень легко средствами CSS.

Возможности BlockPro


Те, кто знаком с Block.Pro.3 знают насколько удобен в использовании этот модуль. Так вот новая версия BlockPro стала ещё удобнее, а гибкость вывода контента в шаблоне на сегодняшний день не имеет аналогов.

Админка


Админка модуля выполнена по уже хорошо зарекомендовавшей себя схеме, так что у вас не будет проблем с ней на любых вменяемых устройствах.

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

BlockPro — модуль профессионального вывода новостей для DLE


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

BlockPro — модуль профессионального вывода новостей для DLE

BlockPro — модуль профессионального вывода новостей для DLE


Вывод контента


- Картинки можно брать из любого источника контента новости в любом количестве и изменять любую из них как угодно. Например можно создать несколько вариантов миниатюр одной картинки для слайдера. При этом даже если картинка лежит в допполе в виде ссылки - можно уменьшить и её. Кстати, страница с примерами постоянно пополняется и по сути будет представлять из себя готовые решения по различным вариантам вывода новостей.

- Фильтрация новостей по значению дополнительных полей. Новости можно фильтровать по значению одного или нескольких дополнительных полей, при этом можно использовать логику "И" (совпадение нескольких значений) или "ИЛИ" (совпадение любого из значений).

- Показ новостей, находящихся на модерации.

- Вывод или игнорирование новостей из подкатегорий. При этом если используется диапазон значений будут обработаны подкатегории и внутри категорий, попавших в диапазон.

- Вывод аватара автора новости без дополнительных запросов. При этом если вывод не включен - лишние данные из БД не запрашиваются.

- Сортировка новостей:
1. Стандартный топ dle
2. Хит (рейтинг*100 + кол-во комментариев*10 + кол-во просмотров)
3. По дате добавления
4. По рейтингу
5. По количеству просмотров
6. По количеству комментариев
7. В случайном порядке
8. В алфавитном порядке
9. Без сортировки (используется, если нужен вывод похожих новостей)
В следующих обновлениях уже запланированы дополнительные сортировки.

- Фильтрация новостей:
1. По авторам
2. По категориям
3. По ID новостей
4. По тегам новостей
5. Новости на модерации
6. По заполненным дополнительным полям
7. По значениям дополнительных полей
8. Фиксированные новости (только фиксированные, только обычные или все подряд)
В следующих обновлениях уже запланированы дополнительные фильтрации, в т.ч. по нестандартным полям.

- Подключение одной строкой в любой шаблон сайта. Как и раньше достаточно одной строки без правок движка!
- Вывод похожих новостей.
- Кеширование каждого блока с возможностью установки времени жизни или отключения кеша для каждого блока. Так же кешируются и блоки, показываемые через ajax.
- Вывод новостей за заданный интервал времени (к примеру новости, добавленные за прошлую неделю)


Установка:


1. Распаковать содержимое папки upload из архива в корень сайта. Имейте ввиду, что необходимо предварительно переименовать папку upload/THEME в соответствии с именем вашего шаблона сайта.
2. Запустить установщик по адресу ваш_сайт/blockpro_install.php и следовать инструкциям.
3. По окончании установки сгенерировать строку подключения модуля, посмотреть полученный результат и, если устроит, вставить строку подключения в нужное место шаблона сайта.

Строка подключения и теги шаблона


Детальная информация о строке подключения, тегах и модификаторах модуля расположена на странице документации к модулю и при появлении нового функционала добавляются соответствующие пункты в документацию.


Про системные требования


Как вы могли заметить, системные требования к модулю так же отличаются от предыдущего.
Модуль с большой вероятностью будет работать и на DLE 9.6 с кодировкой windows-1251, но я не гарантирую корректную работу, да и поддерживать столь старые системы не вижу смысла.
Решение об отказе от 1251 и окончательном переходе на UTF-8 было принято уже давно и переубедить меня в этом вопросе не удастся, считайте это принципиальным моментом.
Однако по заявлениям бетатестеров модуль прекрасно себя чувствует на боевом сайте 10.1 c кодировкой windows-1251.

Небольшой бонус


Всем, кто участвовал в бетатесте модуля я дам купон на 30% скидку.
А тем, кто успеет, вот список из 10 купонов на 15% скидку:


Купить BlockPro

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

  • Большое обновление BlockPro для DLE (v4.5)
  • Большой пост о Block.Pro.3 или как с лёгкостью заменить custom, related-news и topnews в DLE 9.6-10.0 всего одной строкой.
  • Анонс Block.Pro.3
  • Block.Pro - расширенный вывод блоков с новостями для DLE
Закрыть

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

+

Комментарии

salam
salam 25 ноября 2014 13:32
Ответов: 1 #4360
ПафНутиЙ,
Павел новая проблема, php обновил, пропал генератор в админке, точнее на вкладке "Параметры" пусто, только Контакты для связи и техподдержки
ПафНутиЙ
ПафНутиЙ 25 ноября 2014 15:00
Ответов: 0 #4362
Напишите мне на почту, будем разбираться в чём причина. Потребуется FTP.
salam
salam 25 ноября 2014 18:13
Ответов: 0 #4363
ПафНутиЙ,
Написал
Dagaz
Dagaz 28 ноября 2014 16:57
Ответов: 3 #4366
Конвертер кодировки DLE на версии 10.3 как я понял не работает. Подскажите пожалуйста, как можно ещё поменять?
ПафНутиЙ
ПафНутиЙ 28 ноября 2014 17:10
Ответов: 2 #4367
Работает, проверено неоднократно.
Как вы проверяете его работу?
Dagaz
Dagaz 28 ноября 2014 17:43
Ответов: 1 #4368
Скачал от сюда https://github.com/pafnuty/DLE-Charset-Converter , распаковал в корень(там только файл convert.php), запустил по ссылке site.ru/convert.php .. ничего не происходит.

зы: сайт ещё не выложен в сеть(домен не привязан к фтп), захожу через привязку в hosts, быть может из-за этого(однако все модули, движёк и тд работают/ставятся).
ПафНутиЙ
ПафНутиЙ 29 ноября 2014 00:43
Ответов: 0 #4369
Для конвертирования лучше разверните сайт на локалке, так проще и файлы удобнее конвертировать будет.
djinn
djinn 29 ноября 2014 19:37
Ответов: 1 #4371
Здравствуйте. Очень важный для меня вопрос:
Возможна ли фильтрация по доп полям вида - от(значение) и до(значение), и в диапазоне значений доп полей?
ПафНутиЙ
ПафНутиЙ 30 ноября 2014 00:23
Ответов: 0 #4373
Нет, такая фильтрация невозможна.
Да и подобные фильтрации нужны как правило магазинам, а из DLE магазин делать - ужас.
Dagaz
Dagaz 1 декабря 2014 17:12
Ответов: 5 #4374
Снова здравствуйте. Вопрос по настройке модуля. Ранее успешно использовал 3-ю версию BlockPro, строка подключения в ней выглядела так:
{include file="engine/modules/blockpro/block.pro.3.php?&limit=12&sort=none&imgSize=169x130&resizeType=crop&catId=this&notPostId=this&related=this"}


Подскажите, как реализовать в 4-й версии вывод похожих новостей в полной новости картинками(картинки берутся из короткой новости, похожие новости берутся из той-же категории).
Dagaz
Dagaz 1 декабря 2014 17:14
Ответов: 2 #4375
Как я понял нужно создать в папке blockpro файл шаблона(в моём случае создал reletad.tрl). Далее в файле там поставить код самой картинки, как я понял просто поставить строчку
<а href="{$el.short_story|image:$noimageBig:'original'}"><img src="{$el.short_story|image:$noimage:'small':1:'150x200':75:'landscape':true:false:'subfolder'}" alt="{$el.title}"></а>


Далее через генератор строк подключения, выбрать шаблон, указать доп.значения, и всё. В моём случае строка
{include file="engine/modules/base/blockpro.php?template=blockpro/reletad&cachePrefix=news&limit=10&fixed=yes&xfSearchLogic=OR&sort=top&order=new&pageNum=1&navStyle=classic&
#34;}


Однако ничего не выводит.

Подскажите, что делаю не так ?
ПафНутиЙ
ПафНутиЙ 1 декабря 2014 17:52
Ответов: 1 #4376
Ответил на ваше письмо в почте, с примером кода.
Если будут ещё проблемы с освоением шаблона - не стесняйтесь, пишите, заодно будем пополнять примеры на сайте, если потребуется.
Morse
Morse 17 декабря 2014 19:18
Ответов: 0 #4414
такая же проблема. Ничего не выводит, ничего не понятно. Павел молчит по всем средствам связи.
Morse
Morse 17 декабря 2014 19:25
Ответов: 2 #4415
Подключаю для вывода похожих новостей: {include file="engine/modules/base/blockpro.php?template=blockpro/relateddiet&cachePrefix=news&limit=10&fixed=yes&xfSearchLogic=OR&sort=top&order=new&related=this&pageNum=1&navStyle=classic"} (создал при помощи конструктора), нифига не показывает.
Этот Fenom это сплошной ужас, зачем изобретать велосипед из DLE, и встраивать совсем другой шаблонизатор ? Теперь только путаница. Ничего не понятно, ничего не возможно нормально вывести, как это было в самом замечательном Block Pro 3 версии - просто, понятно и работоспособно. 3-ую версию я наоборот сделал бы платной, а "ЭТО" бесплатным. Купив и поставив на сайт, еще 3 дня разбирайся что да как.
Morse
Morse 17 декабря 2014 19:26
Ответов: 0 #4416
p.s. до сих пор не разобрался.
Morse
Morse 17 декабря 2014 19:32
Ответов: 0 #4417
Ответил на ваше письмо в почте, с примером кода.
Если будут ещё проблемы с освоением шаблона - не стесняйтесь, пишите, заодно будем пополнять примеры на сайте, если потребуется.

а нет чтобы примеры где-то здесь писать, дабы избежать тех же самых вопросов. Пополнять базу с примерами ? А где же она ? crying Все Ваши сайт облазил.
ПафНутиЙ
ПафНутиЙ 18 декабря 2014 01:47
Ответов: 0 #4419
Morse
1. Не нужно постить по одному комментарию раз в пять минут. Смахивает на истерику. Успокойтесь и давайте конструктивно общаться.
2. У модуля есть внятная документация, ссылка на неё, у шаблонизатора есть документация на русском языке
3. Что конкретно вы делаете? Где содержимое шаблона? Где указание версии DLE и адреса сайта?
4. Какие примеры вас интересуют?
biandre
biandre 21 декабря 2014 17:34
Ответов: 1 #4420
каким тегом выводяться "просмотры"?
{$el.view_edit} -> ?
ПафНутиЙ
ПафНутиЙ 21 декабря 2014 18:39
Ответов: 0 #4421
Немного отредактировал список тегов, формируемых автоматически. Дополнил его аналогами стандартного шаблонизатора DLE. Теперь удобнее ориентироваться.
Просмотры выводятся тегом {$el.news_read}
tigrzver
tigrzver 1 января 2015 23:51
Ответов: 1 #4431
В вашем модуле есть одна проблема он не выводит новости по доп полю если заполнено много значений, а выводит если только одно значение в новости типо продюссер он один, если будет жанр комедия, боевик, то выведет по комедия, а по боевик не выведет
ПафНутиЙ
ПафНутиЙ 4 января 2015 00:51
Ответов: 0 #4434
Модуль не расчитан на подобные фильтрации.
Но можно попробовать поменять боевик с комедией местами, либо вынести жанры в теги.
aluminoter
aluminoter 11 января 2015 18:16
Ответов: 0 #4469
Что то у меня нифига не получаеться выводить уменьшенную картинку через дополнительное поле. Делаю все как в примере, но выводит только заглушку.
{* Устанавливаем картинку-заглушку *}
{set $noimage}
	{* В данном примере оно и не особо нужно т.к. картинка у нас в любом случаи будет, но всё же... *}
	{$theme}/blockpro/noimage.png
{/set}
{*Пробегаем по массиву с новостями*}
{foreach $list as $key => $el}				
	{* Определяем переменную, в которой будет картинка *}
	{set $image}
		{if $el.xfields['poster']}
			{* Если в допполе есть ссылка на картинку - подстваим её *}
			<img src="{$el.xfields['poster']}">
		{else}
			{* Если ссылки нет, подставим заглушку *}
			<img src="{$theme}/blockpro/noimage.png">				
		{/if}
	{/set}
	{* А теперь работаем с полученной картинкой *}
	<img src="{$image|image:$noimage:'small':'1':'250x150':'':'':true:false}" alt="{$el.title}">
{/foreach}


Что я делаю не так???
aluminoter
aluminoter 11 января 2015 18:18
Ответов: 1 #4470
aluminoter,
Я так понимаю, что может это связано с размещением постера в других каталогах.
У меня они размещены:
/uploads/posts/Дата публикации постера
ПафНутиЙ
ПафНутиЙ 11 января 2015 18:20
Ответов: 0 #4471
Если вывести просто
{$el.xfields['poster']}

что покажет URL или саму картинку?
aluminoter
aluminoter 11 января 2015 18:23
Ответов: 0 #4472
При вот таком коде:
{foreach $list as $key => $el}				
{$el.xfields['poster']}
{/foreach}


Выдает:

/uploads/posts/2015-01-11/mahni-krilom.jpg
aluminoter
aluminoter 11 января 2015 18:25
Ответов: 1 #4474
Еще один вопрос:
{foreach $list as $key => $el}


{foreach $list as $el}


Какая между ними разница???

{foreach $list as $key => $el}				
<img src="{$el.xfields['poster']}">
{/foreach}


Вот так выводит картинку.

Еще у Вас глюк, в админке модуля.
Если сохранять файл .tpl через notepad++ в кодировке UTF-8 то админка не выводит предрезультат. А если пересохранить в редакторе шаблонов в DLE то все нормально.
ПафНутиЙ
ПафНутиЙ 11 января 2015 18:53
Ответов: 0 #4477
Цитата: aluminoter
Какая между ними разница???

Такая же как и между
foreach ($variable as $key => $value) {}

и
foreach ($variable as $value) {}

в php.

Цитата: aluminoter
Вот так выводит картинку.

Возможно нет достаточных прав на папку с создаваемыми картинками (uploads/base/).
Так же попробуйте прописать:
{$image|image:$noimage:'small':'1':'250x150':'':'':true:true}


Цитата: aluminoter
Еще у Вас глюк, в админке модуля.

Это не глюк, а скорее всего вы сохраняете в блокноте фай как UTF-8 + BOM, а нужно без BOM, проверьте.
aluminoter
aluminoter 11 января 2015 19:01
Ответов: 0 #4478
UTF-8 + BOM - Вы правы. У меня без BOM стояло.
По поводу прав на папку /uploads/base - проверил все в порядке. Права и доступ нормальный. Подпапки с размерами создает. А содержимое их пустое.
Что еще может быть не так???
aluminoter
aluminoter 11 января 2015 19:52
Ответов: 1 #4482
{*Определение картинки-заглушки*}
{var $noimage}
	{$theme}/images/noimage.png
{/var}
{foreach $list as $key => $el}				
	{set $image}
<img src="{$el.xfields['poster']}">
	{/set}
	{* А теперь работаем с полученной картинкой *}
{$el.title}
<img src="{$image|image:$noimage:'original':'1'}" alt="{$el.title}">
{/foreach}


Если вот так, чтобы оригинальная фото было, тогда срабатывает. А уменьшения не работает никак.
ПафНутиЙ
ПафНутиЙ 11 января 2015 20:57
Ответов: 0 #4483
Напишите мне на почту, посмотрю. потребуется ftp.

Информация

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