Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Модули для DLE » BlockPro 4.5 (Большое обновление)

BlockPro 4.5 (Большое обновление)


     23.04.2015    blockpro, модуль    Модули для DLE    5246    22 комментария

Краткая информация о модуле (хаке)

Автор: ПафНутиЙ
Версия DLE: 10.2-10.4
Контакты: http://bp.pafnuty.name/
Цена: 420р
В этом обновлении очень много приятных нововведений и улучшений, как функциональных, так и визуальных.
Новый установщик, улучшенный генератор строк подключения, режим афиши, RSS-ленты, вывод всех картинок новости, переменные для формирования кеша и многое другое.

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

- Версия DLE: 10.2 и выше
- Поддерживаемая кодировка: UTF-8
- Версия php: 5.3 и выше
- Наличие IonCube Loader: Да (v.4.4 и выше) Модуль имеет привязку к домену. Его можно использовать на разных поддоменах, доменных зонах одного домена, а также на localhost без активации лицензии.
Для проверки совместимости настроек сайта и модуля можно скачать специальный скрипт (распакуйте содержимое архива на сайт и запустите php-файл).

Купить модуль BlockPro (теперь всего 420р!)
Перед покупкой обязательно ознакомьтесь с требованиями и лицензией на сайте!

Для чего нужен модуль?
Модуль предназначен для очень гибкого вывода новостей на сайте под управлением CMS DataLife Engine.
С ним Вы сможете воплотить жизнь практически любую свою задумку т.к. подобных аналогов по гибкости вывода контента на данный момент просто не существует.
Если вы сомневаетесь в необходимости использования модуля — ознакомьтесь с таблицей сравнения возможностей BlockPro и custom:
BlockPro 4.5 (Большое обновление)


Что нового в BlockPro 4.5
Как показала практика, в большинстве случаев модуль устанавливается на один сайт. Поэтому для одного доменного имени модуль будет стоить всего 420р, а не 840р (домены в разных доменных зонах и поддомены не требуют дополнительных лицензий). Кроме того, все, кто уже купил модуль по старой цене — автоматически получат по 3 ключа. Если вам нужно более 5 ключей – не отчаивайтесь! Вопрос скидок решается индивидуально.

Так же, начиная с данной версии, модуль поставляется в частично закодированном виде и с привязкой к домену. Закодированы только файлы, имеющие ключевой функционал. На этот шаг пришлось пойти т.к., к сожалению, в последнее время участились случаи нелегального распространения модуля.

Немного скриншотов:
Новый генератор строк подключения
BlockPro 4.5 (Большое обновление)


Готовая строка подключения
BlockPro 4.5 (Большое обновление)


Форма создания виджета
BlockPro 4.5 (Большое обновление)

BlockPro 4.5 (Большое обновление)


Список виджетов
BlockPro 4.5 (Большое обновление)


Исправление ошибок:

- Исправлена ошибка с xfields NOT LIKE LIKE в запросе на фильтрацию исключающих значений допполей.
- Исправлена ошибка с выводом новостей, не принадлежащих указанному временному интервалу. Пример ошибки: новость, опубликованная вчера попадала в выборку по параметрам &day=1. Теперь день "начинается" корректно. Можно вводить новости, опубликованные только в указанные интервалы дней. Вчерашняя новость не попадёт в сегодняшнюю выборку, а сегодняшняя не попадёт во вчерашнюю.
- Исправлена ошибка с ненужным показом постраничной навигации, когда новостей меньше, чем на две страницы.
- Исправлена ошибка генерации уменьшенной копии изображения, если не указано качество создаваемой копии.
- Исправлена ошибка с некорректной генерацией строки подключения в некоторых случаях. Вместо символа & вставлялся символ ¬ и удалялась часть текста строки подключения, что приводило к некорректному выводу контента через модуль.
- Исправлена ошибка с выводом прикрепленных файлов в новости.
- Исправлена потенциальная ошибка с выводом скрытого текста.
- Исправлена ошибка генерации предпросмотра блока в админке при использовании memcache.
- Исправлена потенциальная ошибка в DLE 10.4 при сортировке типа "Хит" и попадании в выборку новостей с отрицательным рейтингом.
- Исправлена ошибка с отображением админки, если сайт установлен в подпапку.
- Устранено возникновение ошибок MySQL при некоторых сочетаниях параметров вывода новостей.
- Исправлен мелкий баг с отображением старых стилей и скриптов при обновлении модуля, если используется кеширование фронтенда сторонними скриптами (например pagespeed for nginx).


Улучшения:

- Добавлена поддержка нового рейтинга 10.4.
- Обновлён шаблонизатор Fenom до актуальной версии. Теперь шаблонизатор работает ещё быстрее, а возможностей вывода контента стало больше.
- Добавлен шаблон модуля с кучей примеров вывода данных. И подробными комментариями о том, что там вообще происходит. Очень пригодится тем, кто работает с модулем впервые.
{THEME}/blockpro/fullexample.tpl

- Добавлен учёт настроек DLE по публикации новостей на не наступившую дату. Теперь модуль будет выводить новости, дата которых не наступила, если это разрешено в настройках DLE.
- Теперь при AJAX-запросе, если страница уже закеширована, будет отдан 304 статус, что значительно ускоряет отображение результата и снижает нагрузку на хостинг.
- [beta] Добавлена поддержка навигации по стрелкам браузера при ajax-навигации в блоке с модулем. А так же при обновлении страницы, если пользователь находился на определённой странице в навигации блока, будет загружена эта страница. Пока такая навигация введена экспериментально и корректно работает только для одного блока на странице (или одного из блоков, если их много).
- Добавлен режим афиши: вывод новостей только на не наступившую дату. При этом параметры &day и &dayCount не вычитают, а прибавляют дни. Например для вывода афиши на послезавтра нужно прописать ?future=y&day=3&dayCount=1. Режим афиши не зависит от настроек DLE по выводу новостей на не наступившую дату.
- Добавлен шаблон-пример с группировкой новостей по дате group.tpl. На основе этого шаблона можно делать практически любую доступную группировку. Шаблон снабжен подробными комментариями.
- Добавлены теги {$el.ratingonclickPlus} и {$el.ratingonclickMinus} для вывода атрибута onclick для повышения и понижения рейтинга в цифровом варианте настроек.
- Добавлен новый тег {$dleConfig} для доступа к конфигу DLE внутри шаблона. Использовать можно так: {if $dleConfig.rating_type == '2'}Тип рейтинга: 2{/if}.
- Добавлен новый тег {$dleModule} для доступа к переменной dle_module внутри шаблона модуля.
- Добавлен новый тег {$lang} для доступа к языковым фразам внутри шаблона. Этот тег будет полезен, если один шаблон используется для нескольких языков сайта.
- Добавлена новая переменная cacheVars, позволяющая указать значимые параметры для формирования кеша. В переменную можно передавать через запятую ключи, доступные через $_REQUEST, или значения переменной $dle_module. Эта функция полезна, если требуется выводить разное оформление в блоке с новостями для разных страниц сайта. Таким образом, если прописать &caceVars=newsid,category,forum, будет создаваться отдельный кеш для каждой новости, каждой категории и модуля forum (при интеграции форума).
- Добавлена сортировка новостей по количеству скачиваний прикрепленного файла или файлов &sort=download.
- Добавлена сортировка новостей по дате редактирования &sort=editdate.
- Добавлена сортировка новостей по символьному коду &sort=symbol.
- Добавлена фильтрация новостей по символьному коду. Использование: &symbols=a,A для вывода новостей, содержащих указанные символьные коды. Или &symbols=this для вывода новостей текущего символьного каталога. &notSymbols=Б,г,V,v для игнорирования новостей, содержащих указанные символьные коды. Или &notSymbols=Б,г,V,v для игнорирования новостей текущего символьного каталога.
- Добавлена сортировка по значению дополнительного поля. Для этого необходимо указывать &sort=xf|fieldname, где fieldname — название дополнительного поля. Такая сортировка будет полезна при выводе каталога товаров (по цене) или фильмов по годам производства. Пример строки подключения
{include file="engine/modules/base/blockpro.php?xfilter=price&sort=xf|price&order=new"}

где xfilter=price прописано для отбрасывания пустых значений.
- Добавлен новый параметр &xfSortType=string. Его необходимо указывать, если требуется сортировка по значению дополнительного поля, при этом указанное допполе содержит текст, а не цифры.
- Добавлен новый модификатор dump, для реализации вывода переменной через php-функцию print_r. {$el|dump}, который выведет распечатку массива новости. Модификатор очень полезен при отладке вывода контента.
- Переработан функционал получения картинок в шаблоне. Теперь можно получать массив всех картинок. Для этого третьим параметром нужно передавать не номер получаемой картинки, а cтроку all. При этом будут действовать все настройки ресайза и типов картинок. Такая возможность очень полезна для вывода галереи из картинок новости (или из дополнительного поля).
- Если при получении картинки попадётся смайлик или спойлер - будет взята следующая картинка (раньше возвращалась заглушка).
- Добавлена возможность получать картинку без обработки. Такая возможность нужна, если исходная картинка уже соответствует требованиям вывода, и дополнительные действия над ней производить не требуется. Получение такой картинки похоже на получение оригинала, однако первым параметром необходимо указывать intext. Пример:
{$el.full_story|image:$noimage:'intext':'2'}
или
{$el.full_story|image:$noimage:'intext':'all'}
для получения массива всех картинок без обработки.
- Добавлена возможность указывать собственную папку для сохранения обработанных картинок. Для этого последним параметром необходимо передать имя папки, начинающееся со слеша. В этом случаи путь будет построен от корня сайта. Пример:
{$el.full_story|image:$noimage:'small':'all':'150':'85':'crop':true:true:'/uploads/myfolder/'}

Все картинки из новости будут уменьшены до 150px и сложены в папку /uploads/myfolder/150/. Папка создаётся автоматически.
- Заменён тип отправки формы генератора в админке, с post на get. Теперь при обновлении страницы через F5 форма генерации строки подключения сбрасываться не будет.
- Переработана структура формы генератора строки подключения, теперь она более удобная и логичная.
- При генерации строки подключения больше не будут выводиться значения по умолчанию. Строка стала более понятная и короткая.
- Добавлена возможность выводить контент модуля на стороннем сайте (виджет). Для этого необходимо сгенерировать строку подключения в админке и на вкладке просмотра результатов нажать на кнопку "Создать виджет". Далее следовать указаниям.
- Реализована асинхронная загрузка виджета, так что можно не опасаться за подвисание страницы из-за того, что сайт-донор виджета упал или работает очень медленно.
- Добавлен шаблон-пример для корректного вывода контента на стороннем сайте. Шаблон снабжен подробными комментариями, так что проблем с перенастройкой вывода не будет.
- Добавлена возможность вывода RSS-ленты через модуль. Теперь можно настроить RSS канал в точности с вашими желаниями. Весь функционал модуля полностью доступен и для RSS.
- Добавлен типовой шаблон для вывода RSS-ленты. Шаблон снабжен подробными комментариями, так что проблем с перенастройкой вывода не будет.
- Увеличена скорость выборки с фильтрацией по ID новостей и по категориям (если не используются мультикатегории).
- Значительно увеличена скорость выборки случайных новостей на больших БД (проверено на БД с 20 000 + новостями, скорость выполнения запроса возросла c 0.3cек до 0.005cек). Для этого введён новый параметр сортировки &sort=randomLight.
- Добавлен новый параметр &order=asis — сортировка "как есть". На данный момент она распространяется только на ID новостей. Такая сортировка может понадобиться, если требуется вывести новости в строго определённом порядке по их ID. Для вывода следует добавить в строку подключения &order=asis&postId=1,5,6,15. В этом случае новости выведутся в том порядке, в котором заданы в параметре postId.
- Добавлен новый параметр &saveRelated=y — возможность записывать похожие новости в БД (по аналогии со стандартным функционалом). По умолчанию параметр отключен. Рекомендуется включать для ускорения работы модуля, особенно на больших БД. Похожие новости при включенной настройке будут выведены в том порядке, в котором они были записаны в БД (по умолчанию в DLE похожие новости сортируются по id).
- Обновлён установщик модуля. Теперь он тоже адаптивный и выглядит более современно и удобно.


Ещё раз хочу напомнить, что модуль работает только в кодировке UTF-8 и поддержка windows-1251 не планируется.

На этом пока всё. Обновиться можно в кабинете покупок, а купить модуль — в магазинчике.

22 комментария

Mofsy
Эксперт

Mofsy - 24 апреля 2015 16:13 -

Хорошеет с каждым днем!

ПафНутиЙ
Админ

ПафНутиЙ - 24 апреля 2015 18:10 -

Не без твоей помощи smile

Каков вопрос - таков и ответ. Просто помните об этом.

prewed
Юзер

prewed - 26 апреля 2015 19:02 -

отличный профессиональный подход к созданию модуля. такой энтузиазм бы целсофту, а то позорище получается какое-то с их стороны и ихними нововведениями

ПафНутиЙ
Админ

ПафНутиЙ - 8 мая 2015 19:02 -

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

Каков вопрос - таков и ответ. Просто помните об этом.

csgamee
Юзер

csgamee - 16 июля 2015 03:06 -


Павел, скажите вот такой вывод можно сделать будет с помощью вашего модуля?

ПафНутиЙ
Админ

ПафНутиЙ - 16 июля 2015 09:05 -

Да, скорее всего. Но из картинки не понятно что и как требуется вывести.

Каков вопрос - таков и ответ. Просто помните об этом.

csgamee
Юзер

csgamee - 16 июля 2015 23:30 -


Нужно выводить по датам, то есть
16.07.2015

Новость 1
Новость 2 и т.д новости за эту дату.

15.07.2015

Новость 1
Новость 2
Новость 3


и так далее, ну и допустим выставить, что должно быть за последние 5 дней так.
То есть по датам, будет 5 дат, и материалы по датам распределены в блоках.
как на _seasonvar._ru

ПафНутиЙ
Админ

ПафНутиЙ - 17 июля 2015 00:20 -

можно.

Каков вопрос - таков и ответ. Просто помните об этом.

csgamee
Юзер

csgamee - 17 июля 2015 00:36 -

А я сам смогу настроить?
Если там сложно настроить, то сколько будет стоить, чтоб Вы сделали.
Естественно по мимо покупки модуля. :)

ПафНутиЙ
Админ

ПафНутиЙ - 17 июля 2015 00:37 -

сможете, в комплекте есть уже готовый шаблон с группировкой по датам.

Каков вопрос - таков и ответ. Просто помните об этом.

prewed
Юзер

prewed - 6 октября 2015 16:01 -

надумал покупать модуль. скачал для проверки bp_check.php и там красным написано, что у меня сайт в кодировке windows-1251

Если один или несколько пунктов отмечены красным цветом — модуль не запустится на вашем сайте при текущих настройках. Необходимо исправить несоответсвия (опечатка кстати).


получается, чтобы использовать ваш модуль, нужно устанавливать utf-8 версию движка? и соответственно, если я этого делать не хочу, я не смогу использовать ваш модуль?

ПафНутиЙ
Админ

ПафНутиЙ - 6 октября 2015 21:29 -

Использовать можно, но скорее всего нормально работать он не будет.

Каков вопрос - таков и ответ. Просто помните об этом.

prewed
Юзер

prewed - 6 октября 2015 21:37 -

ну как же так? почему нельзя сделать версию для windows-1251? именно на этой версии изначально был сделан движок. то есть многие люди (не только я) лишены возможности нормально пользоваться вашим модулем. это печально. я раньше использовал s-blocks, и решил обновить dle до 10.6, но Сандер прекратил поддержку. решил попробовать BlockPro, а тут такое=(

ПафНутиЙ
Админ

ПафНутиЙ - 6 октября 2015 21:49 -

А почему бы не поддерживать браузер IE6, или Netscape? С них же начинался нормальный веб?
Если в двух словах - это принципиальный момент. Если расширенно - почитатйте комментарии на pafnuty.name, я там неоднократно высказывал свою позицию по поводу ущербной и устаревшей кодировки 1251.

Каков вопрос - таков и ответ. Просто помните об этом.

prewed
Юзер

prewed - 7 октября 2015 00:10 -

я и не знал, что 1251 - это устаревшая технология. всегда думал, что utf - это для латиницы главным образом, так как на кириллице размер базы данных больше. вот и все мои знания) однако целсофт всё ещё поддерживает 1251. то есть владельцам сайтов при обновлении приходится скачивать версию 1251, если изначально она установлена. целсофт не позаботился о конвертере.
ну а вы, Пафнутий, если принципиально отказываетесь от поддержки 1251 в своих модулях, не думали над тем, чтобы сделать грамотный конвертер дле на utf? я думаю, в итоге это и продажи ваших модулей увеличит и клиентам меньше проблем будет=)

ПафНутиЙ
Админ

ПафНутиЙ - 7 октября 2015 00:17 -


Каков вопрос - таков и ответ. Просто помните об этом.

prewed
Юзер

prewed - 7 октября 2015 00:22 -

спасибо. попробую. а нужно именно на локале делать? или это совет для безопасности и можно сразу сделать на сайте на сервере?

ПафНутиЙ
Админ

ПафНутиЙ - 7 октября 2015 00:23 -

На сервере не заработает.

Каков вопрос - таков и ответ. Просто помните об этом.

Roow
Юзер

Roow - 6 января 2016 18:22 -

Устанавливаю на сервере при запуске "bp_check.php" в "short_open_tag" стоит значение "Off", из-за этого (как я понимаю) при запуске инстала выходит ошибка:

 Кодировка файла установщика (' . $fileCharset['charset'] . ') не совпадает с кодировкой сайта (' . $config['charset'] . '). 
Установка не возможна.
Перекодируйте все php файлы модуля и запустите установщик ещё раз.


Хотя недавно на хосте работало хорошо, скажите что могло произойти не так?
ПС: все на utf8

ПафНутиЙ
Админ

ПафНутиЙ - 6 января 2016 18:25 -

Для корректной работы модуля параметр short_open_tag должен быть включен.
Если возможности включить нет - ждите обновление до версии 4.7, оно будет в ближайшее время.

Каков вопрос - таков и ответ. Просто помните об этом.

Roow
Юзер

Roow - 6 января 2016 18:27 -

ПафНутиЙ,
Честно говоря даже не представляю что это и как его включать...
наверное подожду 4.7, а когда она ожидается?

Спасибо!

ПафНутиЙ
Админ

ПафНутиЙ - 6 января 2016 18:28 -

Сечас обновление в процессе тестирования и подготовки релиза.

Каков вопрос - таков и ответ. Просто помните об этом.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте
наверх