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

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

28.09
165
40 219
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

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

Комментарии

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

зы: сайт ещё не выложен в сеть(домен не привязан к фтп), захожу через привязку в hosts, быть может из-за этого(однако все модули, движёк и тд работают/ставятся).
ПафНутиЙ
ПафНутиЙ 29 ноября 2014 00:43
Для конвертирования лучше разверните сайт на локалке, так проще и файлы удобнее конвертировать будет.
djinn
djinn 29 ноября 2014 19:37
Здравствуйте. Очень важный для меня вопрос:
Возможна ли фильтрация по доп полям вида - от(значение) и до(значение), и в диапазоне значений доп полей?
ПафНутиЙ
ПафНутиЙ 30 ноября 2014 00:23
Нет, такая фильтрация невозможна.
Да и подобные фильтрации нужны как правило магазинам, а из DLE магазин делать - ужас.
Dagaz
Dagaz 1 декабря 2014 17:12
Снова здравствуйте. Вопрос по настройке модуля. Ранее успешно использовал 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
Как я понял нужно создать в папке 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
Ответил на ваше письмо в почте, с примером кода.
Если будут ещё проблемы с освоением шаблона - не стесняйтесь, пишите, заодно будем пополнять примеры на сайте, если потребуется.
Morse
Morse 17 декабря 2014 19:18
такая же проблема. Ничего не выводит, ничего не понятно. Павел молчит по всем средствам связи.
Morse
Morse 17 декабря 2014 19:25
Подключаю для вывода похожих новостей: {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
p.s. до сих пор не разобрался.
Morse
Morse 17 декабря 2014 19:32
Ответил на ваше письмо в почте, с примером кода.
Если будут ещё проблемы с освоением шаблона - не стесняйтесь, пишите, заодно будем пополнять примеры на сайте, если потребуется.

а нет чтобы примеры где-то здесь писать, дабы избежать тех же самых вопросов. Пополнять базу с примерами ? А где же она ? crying Все Ваши сайт облазил.
ПафНутиЙ
ПафНутиЙ 18 декабря 2014 01:47
Morse
1. Не нужно постить по одному комментарию раз в пять минут. Смахивает на истерику. Успокойтесь и давайте конструктивно общаться.
2. У модуля есть внятная документация, ссылка на неё, у шаблонизатора есть документация на русском языке
3. Что конкретно вы делаете? Где содержимое шаблона? Где указание версии DLE и адреса сайта?
4. Какие примеры вас интересуют?
biandre
biandre 21 декабря 2014 17:34
каким тегом выводяться "просмотры"?
{$el.view_edit} -> ?
ПафНутиЙ
ПафНутиЙ 21 декабря 2014 18:39
Немного отредактировал список тегов, формируемых автоматически. Дополнил его аналогами стандартного шаблонизатора DLE. Теперь удобнее ориентироваться.
Просмотры выводятся тегом {$el.news_read}
tigrzver
tigrzver 1 января 2015 23:51
В вашем модуле есть одна проблема он не выводит новости по доп полю если заполнено много значений, а выводит если только одно значение в новости типо продюссер он один, если будет жанр комедия, боевик, то выведет по комедия, а по боевик не выведет
ПафНутиЙ
ПафНутиЙ 4 января 2015 00:51
Модуль не расчитан на подобные фильтрации.
Но можно попробовать поменять боевик с комедией местами, либо вынести жанры в теги.
aluminoter
aluminoter 11 января 2015 18:16
Что то у меня нифига не получаеться выводить уменьшенную картинку через дополнительное поле. Делаю все как в примере, но выводит только заглушку.
{* Устанавливаем картинку-заглушку *}
{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
aluminoter,
Я так понимаю, что может это связано с размещением постера в других каталогах.
У меня они размещены:
/uploads/posts/Дата публикации постера
ПафНутиЙ
ПафНутиЙ 11 января 2015 18:20
Если вывести просто
{$el.xfields['poster']}

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


Выдает:

/uploads/posts/2015-01-11/mahni-krilom.jpg
aluminoter
aluminoter 11 января 2015 18:25
Еще один вопрос:
{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
Цитата: 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
UTF-8 + BOM - Вы правы. У меня без BOM стояло.
По поводу прав на папку /uploads/base - проверил все в порядке. Права и доступ нормальный. Подпапки с размерами создает. А содержимое их пустое.
Что еще может быть не так???
aluminoter
aluminoter 11 января 2015 19:52
{*Определение картинки-заглушки*}
{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
Напишите мне на почту, посмотрю. потребуется ftp.
aluminoter
aluminoter 11 января 2015 23:45
Я разобрался. Нужны все переменные как качество картинки, способ уменьшения и тд. иначе не срабатывает.

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

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

Информация

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