ПафНутиЙ-Блог » Статьи » Обновление BlockPro до версии 4.7

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

8.01
26
9875
Обновление 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 не планируется.

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

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

  • Большое обновление BlockPro для DLE (v4.5)
  • Easy Like - модуль организации системы лайков новостей для DLE 9.x - 10.x (обновлено до 1.4)
  • Yandex Maps - модуль Яндекс карт для DLE (только UTF-8 версия, обновлено до 1.4.1)
  • Block.Pro.2.5
Закрыть

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

+

Комментарии

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

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

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

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

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

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

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

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

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

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

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

хотя новости человек выкладывал
ПафНутиЙ
ПафНутиЙ 22 февраля 2016 10:08
Ответов: 0 #5424
Напишите через сайт техподдержки по ссылке в футере админки, что-то сучилось с формой в админке, разбираемся в проблеме.
vaniya92
vaniya92 23 февраля 2016 20:04
Ответов: 1 #5426
Здравствуйте, интересует такой вопрос, а можно ли организовать данным модулем вывод в полной новости предыдущих новостей, то есть которые были опубликованы до данной?
ПафНутиЙ
ПафНутиЙ 23 февраля 2016 22:02
Ответов: 0 #5428
Пока нет.
Я подумаю над необходимостью реализации подобного функционала.
lostov
lostov 7 мая 2016 13:07
Ответов: 1 #5503
Здравствуйте, я использую вашу продукт BlockPro3 и у меня такой вопрос есть:
как сделать что бы 1-слайдер взял новости из "категория1" а 2-слайдер взял новости из "категория2"??
внизу картинка есть и там показаны 1-2 слайдеры, спасибо за вниманию, жду вашего ответа!!
скринскрин
ПафНутиЙ
ПафНутиЙ 12 мая 2016 12:59
Ответов: 0 #5506
Обновитесь до актуальной версии.
juva
juva 12 мая 2016 12:28
Ответов: 1 #5505
Здравствуйте, Павел. У меня на сайте blockpro3 от 2013г. Подскажите, пожалуйста, как мне выводить(сортировать) новости по значению допполя. В генераторе строк подключения идет проверка на заполненность поля, а не его значение. Спасибо
ПафНутиЙ
ПафНутиЙ 12 мая 2016 13:01
Ответов: 0 #5507
Добрый день!
Фильтрация и сортировка по значению допполя возможна только в актуальной версии модуля.
blockpro 3 уже давно не поддерживается с моей стороны.
djinn
djinn 3 августа 2016 22:13
Ответов: 1 #5561
Написал вам в скайп еще в воскресенье... ответа ноль.
ПафНутиЙ
ПафНутиЙ 3 августа 2016 22:28
Ответов: 0 #5562
Это вполне логично, учитывая, что я редхо хожу в скайп.
Напишите на почту, это более эффективный и надёжный способ общения.

Информация

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