» » Обновление BlockPro до версии 4.7

Обновление BlockPro до версии 4.7

8.01
30
11 533
Обновление BlockPro до версии 4.7

В этом обновлении произведён рефакторинг модуля, реализована интеграция со сторонними сервисами по обработке картинок (tinypng и kraken) и добавлена возможность собственной, нестандартной фильтрации новостей.

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


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

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

Что нового в BlockPro 4.7


  • Минимально необходимая версия php — 5.4.
  • Минимально необходимая версия ionCube — 5.0.
  • Теперь модуль не зависит от настройки short_open_tag.
  • Настройки лицензии вынесены в админку модуля.
  • Добавлена интеграция с сервисом tinyPNG. (подробности ниже).
  • Добавлена интеграция с сервисом Kraken.io (подробности ниже).
  • Добавлен новый параметр setFilter. (подробности ниже).
  • Добавлен новый тег {$totalCount}, выводящий общее количество новостей в выборке. Если постраничная навигация включена - тег выводит общее кол-во новостей co всех страниц.
  • Обновлён шаблонизатор до актуальной версии.


Интеграция со сторонними сервисами по обработке картинок


В этой версии модуля реализована интеграция с двумя отличными сервисами: tinyPNG и Kraken.io.
У каждого из них есть свои преимущества и недостатки, свои тарифные планы и лимиты на бесплатное использование.
Для использования сервисов следует предварительно получить API ключи. Ссылки на инструкции вы найдёте в админке модуля, на вкладке настроек.
Сам процесс получения картинок через сервисы очень прост — достаточно прописать нужный модификатор к контенту, из которого предполагается получение изображений. Допустим необходимо получить квадратную картинку из краткой новости с обрезкой лишнего, размером 150x150px. Для этого можно использовать три варианта кода:

1. Встроенный механизм ресайза:
{$el.short_story|image:$noimage:'small':'1':'150':'':'crop'}

2. Через tinyPNG:
{$el.short_story|tinypng:$noimage:'small':'1':'150':'':'crop'}

3. Через Kraken.io:
{$el.short_story|kraken:$noimage:'small':'1':'150':'':'crop'}


Как видно разница лишь в названии модификатора, остальной синтаксис передачи параметров не изменяется. Однако сервисы игнорируют указание качества картинки, а tinypng может использовать только следующие типы ресайза: portrait, landscape, auto, crop.

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

Код для вставки в шаблон по-прежнему можно получить на вкладке "Хелперы" в админке модуля.

Собственные условия фильтрации, параметр setFilter


Этот параметр ориентирован на опытных пользователей и находится в стадии бета-тестирования. Как правило собственная фильтрация необходима, когда в БД вносились изменения и нужно отобрать новости с учётом новых колонок.
Техническое описание параметра находится в разделе документации к модулю, поэтому предлагаю разобрать простой пример его использования.
Допустим в БД, в таблице новостей заведена новая колонка season, в которой хранится номер сезона некоего сериала. Необходимо выбрать новости (серии) четвёртого сезона из просматриваемой категории.
Строка подключения будет такой:
{include file="engine/modules/base/blockpro.php?catId=this&sort=date&fields=p.season&setFilter=p.season|=|4"}

Как видно в строку подключения мы прописали параметр fields, который добавляет в запрос выборку из нестандартной колонки season, а параметр setFilter добавит фильтрацию по нужному нам сезону.
Полный SQL-запрос будет таким:
SELECT p.id, p.autor, p.date, p.short_story, p.full_story, p.xfields, p.title, p.category, p.alt_name, p.allow_comm, p.comm_num, p.fixed, p.allow_main, p.symbol, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.related_ids, e.view_edit, e.editdate, e.editor, e.reason, p.season FROM `dle_post` p LEFT JOIN `dle_post_extras` e ON (p.id=e.news_id) WHERE approve AND p.season = 4 ORDER BY fixed DESC, p.date DESC LIMIT 0, 10


Таким образом теперь есть возможность выводить новости ещё более гибко, чем раньше!

Исправление ошибок и улучшения


  • Исправлена ошибка логики построения запроса для отбора новостей в режиме вывода афишей.
  • Исправлено некорректное построение ЧПУ при третьем типе настроек в DLE.
  • Исправлена недостаточная фильтрация при отборе новостей по тегам.
  • Исправлено некорректное формирование ссылки на аватар пользователя в dle 10.6.
  • Исправлена некорректная выборка новостей при фильтрации по допполям с логикой OR.
  • Исправлена ошибка генерации предпросмотра блока в админке и создания виджета при использовании Memcache.
  • Исправлена mysql ошибка, при некоторых случаях выборки по автору новости.
  • Мелкие исправления, улучшения и доработки класса resize.php.
  • Улучшение модификатора declination, теперь отрицательные числа тоже корректно склоняются.
  • Исправлена ошибка с некорректной генерацией строки подключения при предпросмотре виджетов в админке
  • Рефакторинг, оптимизация и улучшение php кода модуля.



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

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

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

Комментарии

Google
Google 12 января 2016 00:31
Подскажите как в выводе новостей из определенной категории вывести fullname автора?
ПафНутиЙ
ПафНутиЙ 12 января 2016 00:55
На странице примеров к модулю есть готовый пример для вывода данных об авторе новости.
Google
Google 12 января 2016 03:55
Я видел, но ни чего не вышло, пустые поля выводятся. Например если пытаюсь вывести email.

К тому же не нашел как вывести именно fullname?
Там описано только email, user_id, news_num, comm_num, foto

Отправил код в письме.
ПафНутиЙ
ПафНутиЙ 13 января 2016 22:40
Цитата: Google
Отправил код в письме.

Нужно писать в техподдержку. Ознакомьтесь с содержимым вкладки "Документация и техподдержка" в модуле.
niceshot
niceshot 17 января 2016 02:07
установил модуль,когда нажимаю на категории там пусто,также странички html(как можно исправить:?)
и еще как можно убрать время в дате новости?
ПафНутиЙ
ПафНутиЙ 17 января 2016 10:54
Напишите тиккет в техподдержку (кнопка в правом нижнем углу откроет форму создания обращения)
niceshot
niceshot 17 января 2016 14:49
ПафНутиЙ,
жду 2 день,тишина(
ПафНутиЙ
ПафНутиЙ 17 января 2016 15:42
На сегодняшний тиккет я ответил вам только что.
На два предыдущих ответы были даны в течении получаса с момента их создания.
niceshot
niceshot 17 января 2016 16:23
ПафНутиЙ,
на почту ничего не приходило
ПафНутиЙ
ПафНутиЙ 17 января 2016 22:13
Возможно вы неверно указали адрес почты т.к. письма с сайта поддержки не попадают в спам, если их туда специально не отправлять.
NSX
NSX 4 февраля 2016 20:17
Хочу купить модуль, у меня есть пара вопросов.

Случайно не данный ли модуль выводит похожие новости и топ 10 как у вас на сайте? такими же красивыми плитками?

И есть ли функция - вывести в профиле, к примеру, все новости просматриваемого автора?

Если этот модуль такого не умеет, подскажите как сделать себе данные функции))

Но BlockPro я все равно приобрету
ПафНутиЙ
ПафНутиЙ 4 февраля 2016 21:15
Да, именно этот модуль, только устаревшей версии, работает на этом сайте.
По внешнему виду всё зависит от вашего желания и возможностей.
Как сверстаете, так и будет.
Новости пользователя вывести можно
chorna
chorna 11 февраля 2016 19:01
павел,
можно делат топ дниа из всеи периода...
например реитинг набранни толко севоня...?
ПафНутиЙ
ПафНутиЙ 11 февраля 2016 19:29
да, конечно.
chorna
chorna 12 февраля 2016 23:53
и как можеш дат код?
ни как не понел как делат...
знаиу как вивести топ периода но ни такои што из всеи периода вивестил толко севодниа набираиушава реитинга
ПафНутиЙ
ПафНутиЙ 13 февраля 2016 19:22
Присылайте ТЗ на почту, обсудим сроки и цену.
NSX
NSX 21 февраля 2016 22:12
Привет. незнаю доходят ли сообщения в техподдержке.

Такой вопрос, при добавлении в профиль

{include file="engine/modules/base/blockpro.php?&author=this"}

показывает В блоке 0 новостей
Новостей нет

хотя новости человек выкладывал
ПафНутиЙ
ПафНутиЙ 22 февраля 2016 10:08
Напишите через сайт техподдержки по ссылке в футере админки, что-то сучилось с формой в админке, разбираемся в проблеме.
vaniya92
vaniya92 23 февраля 2016 20:04
Здравствуйте, интересует такой вопрос, а можно ли организовать данным модулем вывод в полной новости предыдущих новостей, то есть которые были опубликованы до данной?
ПафНутиЙ
ПафНутиЙ 23 февраля 2016 22:02
Пока нет.
Я подумаю над необходимостью реализации подобного функционала.
lostov
lostov 7 мая 2016 13:07
Здравствуйте, я использую вашу продукт BlockPro3 и у меня такой вопрос есть:
как сделать что бы 1-слайдер взял новости из "категория1" а 2-слайдер взял новости из "категория2"??
внизу картинка есть и там показаны 1-2 слайдеры, спасибо за вниманию, жду вашего ответа!!
скринскрин
juva
juva 12 мая 2016 12:28
Здравствуйте, Павел. У меня на сайте blockpro3 от 2013г. Подскажите, пожалуйста, как мне выводить(сортировать) новости по значению допполя. В генераторе строк подключения идет проверка на заполненность поля, а не его значение. Спасибо
ПафНутиЙ
ПафНутиЙ 12 мая 2016 12:59
Обновитесь до актуальной версии.
ПафНутиЙ
ПафНутиЙ 12 мая 2016 13:01
Добрый день!
Фильтрация и сортировка по значению допполя возможна только в актуальной версии модуля.
blockpro 3 уже давно не поддерживается с моей стороны.
djinn
djinn 3 августа 2016 22:13
Написал вам в скайп еще в воскресенье... ответа ноль.
ПафНутиЙ
ПафНутиЙ 3 августа 2016 22:28
Это вполне логично, учитывая, что я редхо хожу в скайп.
Напишите на почту, это более эффективный и надёжный способ общения.
Maximus
Maximus 21 апреля 2017 10:09
Павел добрый день!
Скажите, у меня есть сторонний модуль dle с шаблоном Gree (dle). Могу я использовать BlockPro для вывода новостей в модуле?
ПафНутиЙ
ПафНутиЙ 22 апреля 2017 13:39
Правильно ли я понимаю, что вы хотите использовать исходный код BlockPro для интеграции его в ваш сторонний модуль?
Maximus
Maximus 25 апреля 2017 09:14
Да, верно и + вывести эти данные через BlockPro на главную страницу сайта
ПафНутиЙ
ПафНутиЙ 25 апреля 2017 09:28
Для вывода данных на главную вам не потребуется интеграция BlockPro в ваш модуль.
Для Интеграции BlockPro в ваш модуль в принципе достаточно прописать строку подключения BlockPro в шаблон вашего модуля.
Если этого не достаточно вы можете изменять незакодированные части модуля, однако вам может быть отказано в техподдержке при возникновении проблем из-за изменений кода BlockPro.

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

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

Информация

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