BlockPro 4.5 (Большое обновление) [DLE 10.2x]

BlockPro 4.5 (Большое обновление) [DLE 10.2x]

В этом обновлении очень много приятных нововведений и улучшений, как функциональных, так и визуальных.
Новый установщик, улучшенный генератор строк подключения, режим афиши, 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
Как показала практика, в большинстве случаев модуль устанавливается на один сайт. Поэтому для одного доменного имени модуль будет стоить всего 420р, а не 840р (домены в разных доменных зонах и поддомены не требуют дополнительных лицензий). Кроме того, все, кто уже купил модуль по старой цене — автоматически получат по 3 ключа. Если вам нужно более 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 не планируется.
На этом пока всё. Обновиться можно в кабинете покупок, а купить модуль — в магазинчике.