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

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

22.04
Большое обновление 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 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} для доступа к переменной внутри шаблона модуля.
  • Добавлен новый тег {$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 не планируется.

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

Комментарии

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

Напишите мне на pafnuty10@gmail.com подумаем как решить вашу проблему.
martin55
martin55 24 ноября 2015 12:59
#32
Здравствуйте.
Скажите, можно ли с помощью данного модуля организовать вставку новостных врезок в новость, как это сделано в маил.ру новостях?
ПафНутиЙ
ПафНутиЙ 24 ноября 2015 13:01
#33
Можно, но лучше написать для этого отдельный модуль.
martin55
martin55 24 ноября 2015 19:04
#34
Стоимость, примерные сроки, будет ли после этого модуль в паблике?
ПафНутиЙ
ПафНутиЙ 24 ноября 2015 21:21
#35
Я уже давно не принимаю заказы, поэтому ответить на вопросы не смогу.
darmaed27
darmaed27 19 декабря 2015 17:55
#36
Приветствую админ, вопрос такой, возможно ли с помощью этого модуля сделать фильтрацию по ценам товаров из доп.поля, а именно ползунок с ценой от и до, а также выбор нескольких категорий с помощью чекбокса?
ПафНутиЙ
ПафНутиЙ 19 декабря 2015 21:41
#37
Нет. Модуль реализует только статические фильтрации, посетитель не может управлять параметрами модуля.
d3frag
d3frag 30 декабря 2015 14:06
#38
Добрый день, Павел.
Скажите пожалуйста, а есть возможность похожие новости закольцевать, например, как в модуле linkenso у гражданина Алаева?
Colt
Colt 1 января 2016 23:50
#39
Странный,конечно, подход к потенциальным коиентам - я делаю модули только для определённой группы, для остальных не мои проблемы. Вам нужно, но у вас кодировка 1251? Вы мне не подходите... wassat
ПафНутиЙ
ПафНутиЙ 2 января 2016 00:14
#40
Нет, такой возможности в модуле нет. Да и linkenso с этим неплохо справляется.
ПафНутиЙ
ПафНутиЙ 2 января 2016 00:21
#41
Вы совершенно правы. Подход странный, но лишь в том случае, если мне нужны эти потенциальные клиенты и их потенциальные деньги.
А вот если смотреть на "странный подход" с учётом того, что я не ставлю перед собой целью получение прибыли или привлечение клиентов — всё встаёт на свои места.
Я просто делаю то, что считаю нужным и правильным, потому, что могу себе это позволить.

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


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

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

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

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

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

Информация

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

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