Краткая информация о модуле (хаке)
Автор: ПафНутиЙ
Версия DLE:
10.2-10.4
Контакты:
http://bp.pafnuty.name/
В этом обновлении очень много приятных нововведений и улучшений, как функциональных, так и визуальных.
Новый установщик, улучшенный генератор строк подключения, режим афиши, 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 до актуальной версии. Теперь шаблонизатор работает ещё быстрее, а возможностей вывода контента стало больше.
- Добавлен шаблон модуля с кучей примеров вывода данных. И подробными комментариями о том, что там вообще происходит. Очень пригодится тем, кто работает с модулем впервые.
- Добавлен учёт настроек 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 для вывода новостей текущего символьного каталога. ¬Symbols=Б,г,V,v для игнорирования новостей, содержащих указанные символьные коды. Или ¬Symbols=Б,г,V,v для игнорирования новостей текущего символьного каталога.
- Добавлена сортировка по значению дополнительного поля. Для этого необходимо указывать &sort=xf|fieldname, где fieldname — название дополнительного поля. Такая сортировка будет полезна при выводе каталога товаров (по цене) или фильмов по годам производства. Пример строки подключения
где xfilter=price прописано для отбрасывания пустых значений.
- Добавлен новый параметр &xfSortType=string. Его необходимо указывать, если требуется сортировка по значению дополнительного поля, при этом указанное допполе содержит текст, а не цифры.
- Добавлен новый модификатор dump, для реализации вывода переменной через php-функцию print_r. {$el|dump}, который выведет распечатку массива новости. Модификатор очень полезен при отладке вывода контента.
- Переработан функционал получения картинок в шаблоне. Теперь можно получать массив всех картинок. Для этого третьим параметром нужно передавать не номер получаемой картинки, а cтроку all. При этом будут действовать все настройки ресайза и типов картинок. Такая возможность очень полезна для вывода галереи из картинок новости (или из дополнительного поля).
- Если при получении картинки попадётся смайлик или спойлер - будет взята следующая картинка (раньше возвращалась заглушка).
- Добавлена возможность получать картинку без обработки. Такая возможность нужна, если исходная картинка уже соответствует требованиям вывода, и дополнительные действия над ней производить не требуется. Получение такой картинки похоже на получение оригинала, однако первым параметром необходимо указывать intext. Пример:
- Добавлена возможность указывать собственную папку для сохранения обработанных картинок. Для этого последним параметром необходимо передать имя папки, начинающееся со слеша. В этом случаи путь будет построен от корня сайта. Пример:
Все картинки из новости будут уменьшены до 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 не планируется.
На этом пока всё. Обновиться можно в кабинете покупок, а купить модуль — в магазинчике.
Новый установщик, улучшенный генератор строк подключения, режим афиши, 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 для вывода новостей текущего символьного каталога. ¬Symbols=Б,г,V,v для игнорирования новостей, содержащих указанные символьные коды. Или ¬Symbols=Б,г,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 не планируется.
На этом пока всё. Обновиться можно в кабинете покупок, а купить модуль — в магазинчике.