ПафНутиЙ-Блог » Статьи » Большое обновление BlockPro для DLE (v4.5)

Большое обновление BlockPro для DLE (v4.5)

22.04
45
6573
Большое обновление BlockPro для DLE (v4.5)


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

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


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

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

Для чего нужен модуль?


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


Что нового в BlockPro 4.5


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

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

Немного скриншотов:


Новый генератор строк подключения
Большое обновление BlockPro для DLE (v4.5)


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


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

Большое обновление BlockPro для DLE (v4.5)


Список виджетов
Большое обновление BlockPro для DLE (v4.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 не планируется.

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

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

  • Обновление BlockPro до версии 4.7
  • Block.Pro.2.5
  • BlockPro — модуль профессионального вывода новостей для DLE
  • Yandex Maps - модуль Яндекс карт для DLE (только UTF-8 версия, обновлено до 1.4.1)
Закрыть

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

+

Комментарии

ПафНутиЙ
ПафНутиЙ 9 сентября 2015 13:41
Ответов: 0 #5090
Цитата: sashok7062005
Все ваши споры это конечно же хорошо, в споре рождается истина, но все же что делать мне, не подскажите мне проще перекодировать весь сайт, или все же пробовать кодировать модуль?

Напишите мне на pafnuty10@gmail.com подумаем как решить вашу проблему.
martin55
martin55 24 ноября 2015 12:59
Ответов: 3 #5261
Здравствуйте.
Скажите, можно ли с помощью данного модуля организовать вставку новостных врезок в новость, как это сделано в маил.ру новостях?
ПафНутиЙ
ПафНутиЙ 24 ноября 2015 13:01
Ответов: 2 #5262
Можно, но лучше написать для этого отдельный модуль.
martin55
martin55 24 ноября 2015 19:04
Ответов: 1 #5263
Стоимость, примерные сроки, будет ли после этого модуль в паблике?
ПафНутиЙ
ПафНутиЙ 24 ноября 2015 21:21
Ответов: 0 #5264
Я уже давно не принимаю заказы, поэтому ответить на вопросы не смогу.
darmaed27
darmaed27 19 декабря 2015 17:55
Ответов: 1 #5295
Приветствую админ, вопрос такой, возможно ли с помощью этого модуля сделать фильтрацию по ценам товаров из доп.поля, а именно ползунок с ценой от и до, а также выбор нескольких категорий с помощью чекбокса?
ПафНутиЙ
ПафНутиЙ 19 декабря 2015 21:41
Ответов: 0 #5296
Нет. Модуль реализует только статические фильтрации, посетитель не может управлять параметрами модуля.
d3frag
d3frag 30 декабря 2015 14:06
Ответов: 1 #5312
Добрый день, Павел.
Скажите пожалуйста, а есть возможность похожие новости закольцевать, например, как в модуле linkenso у гражданина Алаева?
ПафНутиЙ
ПафНутиЙ 2 января 2016 00:14
Ответов: 0 #5314
Нет, такой возможности в модуле нет. Да и linkenso с этим неплохо справляется.
Colt
Colt 1 января 2016 23:50
Ответов: 1 #5313
Странный,конечно, подход к потенциальным коиентам - я делаю модули только для определённой группы, для остальных не мои проблемы. Вам нужно, но у вас кодировка 1251? Вы мне не подходите... wassat
ПафНутиЙ
ПафНутиЙ 2 января 2016 00:21
Ответов: 0 #5315
Вы совершенно правы. Подход странный, но лишь в том случае, если мне нужны эти потенциальные клиенты и их потенциальные деньги.
А вот если смотреть на "странный подход" с учётом того, что я не ставлю перед собой целью получение прибыли или привлечение клиентов — всё встаёт на свои места.
Я просто делаю то, что считаю нужным и правильным, потому, что могу себе это позволить.

Цитата: Colt
Вам нужно, но у вас кодировка 1251? Вы мне не подходите...


Вот более полный вариант:

Вам нужно, но у вас кодировка 1251? И вы не готовы перекодировать сайт в UTF-8? Значит оно на самом деле вам не нужно и Вы мне не подходите...
Colt
Colt 6 января 2016 16:49
Ответов: 3 #5325
Спорить бессмысленно, это разговор глухого с немым)
ПафНутиЙ
ПафНутиЙ 6 января 2016 16:59
Ответов: 2 #5326
Обычно когда спорят, то приводят аргументы.
Я не могу найти весомых агрументов для использования 1251 в своих модулях, может быть вы исправите эту ситуацию?
Colt
Colt 15 января 2016 11:56
Ответов: 1 #5346
Даже не знаю какие аргументы привести) Объясню с моей стороны - я пробовал перейти на UTF8, но почему-то у меня всегда возникали с ней проблемы, я не силён в программировании, поэтому плюнул и остался на 1251. Так вот, я бы с удовольствием купил ваш модуль, но тут такая ситауция примерно - я пришёл в магазин и мне говорят - мы не продадим вам товар, ибо вы нам не подходите по каким-то причинам. Я что хочу сказать - раз существуют две основные кодировки, зачем кого-то ущемлять, будь то владельцы UTF8 или 1251. Нехорошо...
ПафНутиЙ
ПафНутиЙ 15 января 2016 13:53
Ответов: 0 #5348
Цитата: Colt
я не силён в программировании,

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

Если вам очень сильно необходим модуль, работающий в 1251 — могу специально для вас, платно, доработать модуль или написать аналогичный. Обновления модуля так же буду платными. Если устраивает - пишите на почту, обсудим детали.

Информация

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