Skip to content

Latest commit

 

History

History
1100 lines (754 loc) · 35.9 KB

params.md

File metadata and controls

1100 lines (754 loc) · 35.9 KB

Переменные строки подключения

!> Внимание!
В строке подключения модуля нет обязательных переменных, но у всех переменных есть значение по умолчанию.

Простейшая строка подключения модуля:

{include file="engine/modules/base/blockpro.php"}

Переменные строки подключения указываются в виде конструкции: &param=value

?> Лучший способ составить строку подключения -- воспользоваться встроенным генератором строк, он учитывает особенности текущего сайта (например список категорий) и не даст ошибиться с пераметрами при составлении строки подключения.

template

Имя шаблона блока без расширения.

По умолчанию шаблон блока берётся из папки blockpro текущего шаблона сайта.

Значение по умолчанию:

&template=blockpro/blockpro

Примеры использования:

{include file="engine/modules/base/blockpro.php?template=blockpro/custom}

{include file="engine/modules/base/blockpro.php?template=mytemplate}

moderate

Если переменная указана - выводятся только новости на модерации.

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?moderate=y}

cachePrefix

Дефолтный префикс кеша, нужен для автоматической чистки кеша при добавлении на сайте комментария или новости.

Автоматически удаляется, если задано время жизни кеша.

Значение по умолчанию:

&cachePrefix=news

Примеры использования:

{include file="engine/modules/base/blockpro.php?cachePrefix=pref}

cacheSuffixOff

Отключение суффикса кеша (будет создаваться один кеш-файл для всех пользователей).

По умолчанию для каждой группы пользователей создаётся свой кеш (на случай разного отображения контента разным юзерам).

Если для всех групп пользователей контент одинаков - можно отключить.

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?&cacheSuffixOff=y}

cacheNameAddon

Служебная переменная.

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

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?cacheNameAddon=newName}

nocache

Отключает кеширование блока

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?&nocache=y}

cacheLive

Задаёт время жизни кеша в минутах.

?> Этот параметр работает только при использовании файлового кеша"

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?cacheLive=15}

cacheVars

Значимые параметры для формирования кеша.

В переменную можно передавать через запятую ключи, доступные через $_REQUEST или значения переменной $dle_module

Эта функция полезна, если требуется выводить разное оформление в блоке с новостями для разных страниц сайта.

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?caceVars=newsid,category,forum}

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

startFrom

С какой новости начать вывод (ноль - это первая новость, 3 - четвёртая)

Значение по умолчанию:

&startFrom=0

Примеры использования:

{include file="engine/modules/base/blockpro.php?startFrom=15}

limit

Количество новостей в блоке

Значение по умолчанию:

&limit=10

Примеры использования:

{include file="engine/modules/base/blockpro.php?limit=20}

fixed

Обработка фиксированных новостей:

  • yes — показ всех (по умолчанию), фиксированные выше остальных;
  • only — показ только фиксированных;
  • without — показ только нефиксированных;
  • ignore — показ единым списком без учёта признака фиксированных новостей;

Значение по умолчанию:

&fixed=yes

Примеры использования:

{include file="engine/modules/base/blockpro.php?fixed=only}
{include file="engine/modules/base/blockpro.php?fixed=witout}
{include file="engine/modules/base/blockpro.php?аixed=ignore}

postId

ID новостей для вывода в блоке (через запятую, тире).

Если указать this - будет взят ID просматриваемой новости.

Может понадобиться для установки кастомизированных метатегов (актуально для киносайтов). При этом будет создаваться отдельный файл кеша для каждой просмотренной новости. Через тире указывается диапазон значений (от-до).

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?postId=1,5,23}
{include file="engine/modules/base/blockpro.php?postId=this}
{include file="engine/modules/base/blockpro.php?postId=1-10,15-30}

notPostId

ID игнорируемых новостей (через запятую, тире).

Если указать this - будет игнорироваться текущая новость, полезно например для вывода топа из текущей категории, но без текущей новости.

При этом будет создаваться отдельный файл кеша для каждой просмотренной новости. Через тире указывается диапазон значений (от-до).

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?notPostId=10,50,55}
{include file="engine/modules/base/blockpro.php?notPostId=this}
{include file="engine/modules/base/blockpro.php?notPostId=1-15,55-90}

author

Логины авторов, для показа их новостей в блоке (через запятую).

Если указать this - будут браться новости автора из просматриваемого профиля, при этом будет создаваться отдельный файл кеша для каждой страницы профиля

Значение по умолчанию:

false

Примеры использования:

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

notAuthor

Логины игнорируемых авторов (через запятую).

Если указать this - будут игнорироваться новости автора из просматриваемого профиля, при этом будет создаваться отдельный файл кеша для каждой страницы профиля.

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?notAuthor=bot}
{include file="engine/modules/base/blockpro.php?notAuthor=this}

xfilter

Имена дополнительных полей для фильтрации по ним новостей (через запятую).

Проверяется только заполненность поля.

Если указать this - будут выводиться новости, в которых заполнено допполе, на странице которого находится пользователь, при этом будет создаваться отдельный файл кеша для каждой страницы допполя.

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?xfilter=image,text}
{include file="engine/modules/base/blockpro.php?xfilter=this}

notXfilter

Имена дополнительных полей для игнорирования показа (через запятую).

Проверяется только заполненность поля.

Если указать this - будут ирнорироваться новости, в которых заполнено допполе, на странице которого находится пользователь, при этом будет создаваться отдельный файл кеша для каждой страницы допполя.

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?notXfilter=image,text}
{include file="engine/modules/base/blockpro.php?notXfilter=this}

xfSearch

Имена и значения допполей для фильтрации новостей по допполям с указанными значениями.

Синтаксис передачи данных: &xfSearch=имя_поля|значение||имя_поля|значение

?> Включение экспериментальных функций модуля повышает производительность при использовании этого параметра.

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?xfSearch=name|value||name1|value1}

notXfSearch

Имена и значения допполей для игнорирования показа новостей по допполям с указанными значениями.

Синтаксис передачи данных: &notXfSearch=имя_поля|значение||имя_поля|значение

?> Включение экспериментальных функций модуля повышает производительность при использовании этого параметра.

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?notXfSearch=name|value||name1|value1}

xfSearchLogic

Логика фильтрации по значениям допполей:

  • "И" - совпадение нескольких значений;
  • "ИЛИ" - совпадение любого из значений;

Принимает OR или AND.

Значение по умолчанию:

&xfSearchLogic=OR

Примеры использования:

{include file="engine/modules/base/blockpro.php?xfSearchLogic=AND}

catId

Категории для показа (через запятую).

Если указать this - новости будут браться из просматриваемой категории, при этом будет создаваться отдельный файл кеша для каждой категории.

Через тире указывается диапазон значений (от-до).

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?catId=5,6}
{include file="engine/modules/base/blockpro.php?catId=this}
{include file="engine/modules/base/blockpro.php?catId=2-6,10-15}

subcats

Разрешает вывод подкатегорий для категорий, указанных в предыдущем параметре.

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?subcats=y}

otCatId

Игнорируемые категории (через запятую).

Если указать this - новости будут браться из всех, кроме просматриваемой категории, при этом будет создаваться отдельный файл кеша для каждой категории.

Через тире указывается диапазон значений (от-до).

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?otCatId=5,6}
{include file="engine/modules/base/blockpro.php?otCatId=this}
{include file="engine/modules/base/blockpro.php?otCatId=2-6,10-15}}

notSubcats

Разрешает игнорирование вывода из подкатегорий для категорий, указанных в предыдущем параметре.

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?notSubcats=y}

thisCatOnly

Выводить/игнорировать новости только из текущей категории.

Вывод новостей только из текущей категории имеет смысл в тех случаях, когда используются мультикатегории и если нужно вывести или исключить из вывода новости, принадлежащие только к просматриваемой категории.

К примеру похожие фильмы только из просматриваемой категории, а не из всех категорий, к которым принадлежит просматриваемый фильм.

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?thisCatOnly=y}

tags

Теги новостей, для фильтрации по ним (через запятую).

Если указать this - будут браться новости в которых присутствует тег, при просмотре страницы конкретного тега, при этом будет создаваться отдельный файл кеша для каждой страницы тега.

Если указать thisNewsTags - будут браться новости в которых присутствуют теги текущей новости (имеет смысл только при просмотре полной новости).

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?tags=новости,события}
{include file="engine/modules/base/blockpro.php?tags=this}
{include file="engine/modules/base/blockpro.php?tags=thisNewsTags}

notTags

Аналогично предыдущему пункту, но новости будут исключены из вывода.

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?notTags=новости,события}
{include file="engine/modules/base/blockpro.php?notTags=this}
{include file="engine/modules/base/blockpro.php?notTags=thisNewsTags}

symbols

Показ новостей, содержащих указанные символьные коды.

Или this - для вывода новостей по просмариваемому символьному коду.

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?symbols=a,A}
{include file="engine/modules/base/blockpro.php?symbols=this}

notSymbols

Аналогично предыдущему пункту, но новости будут исключены из вывода.

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?notSymbols=a,A}
{include file="engine/modules/base/blockpro.php?notSymbols=this}

day

Временной период для отбора новостей, по умолчанию отсутствует

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?day=15}

dayCount

Временной интервал для отбора новостей, по умолчанию отсутствует.

Для вывода новостей только за сегодня необходимо прописать &day=-1&dayCount=-1.

?> Примечание:
к примеру нужно вывести новости за прошлую неделю. Код: &day=14&dayCount=7 выведет новости за период 14 дней с интервалом в 7 дней, что и есть прошлая неделя.

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?dayCount=7}
{include file="engine/modules/base/blockpro.php?day=14&dayCount=7}
{include file="engine/modules/base/blockpro.php?day=-1&dayCount=-1}

future

Режим афиши — вывод новостей только на ненаступившую дату.

При этом параметры &day и &dayCount не вычитают, а прибавляют дни.

!>Режим афиши не зависит от настроек DLE по выводу новостей на ненаступившую дату.

?> Например для вывода афиши на послезавтра нужно прописать &future=y&day=3&dayCount=1.

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?future=y}
{include file="engine/modules/base/blockpro.php?future=y&day=3&dayCount=1}

sort

Сортировка новостей в блоке, по умолчанию аналогична выводу ТОП-новостей.

Возможные значения:

  • none - без сортировки (можно использовать для вывода похожих новостей идентично стандартному выводу таковых в DLE)
  • date - по дате добавления
  • rating - по рейтингу
  • comms - по количеству комментариев
  • views - по количеству просмотров
  • random - в случайном порядке
  • randomLight - в случайном порядке (Light) Предназначен для больших БД и органиченной выборки (с фильтрацией категорий, id новостей, допполей и т.п.)
  • title - в алфавитном порядке
  • hit - Хит. Новости отбираются по формуле: (рейтинг100 + кол-во комментариев10 + кол-во просмотров)
  • download - по количеству скачиваний файлов новости
  • symbol - по символьному коду новости
  • editdate - по дате редактирования новости
  • xf|fieldname - по значению дополнительного поля, где fieldname — название дополнительного поля.
  • symbol - по символьному коду.
  • p.custom_field - по нестандартному полю БД.

Значение по умолчанию:

false - стандартный для DLE топ новостей

Примеры использования:

{* Сортировка по полю custom_field из таблицы dle_post *} 
{include file="engine/modules/base/blockpro.php?sort=p.custom_field} 

{* Сортировка по полю price из таблицы dle_post_extras *} 
{include file="engine/modules/base/blockpro.php?sort=e.price}

{* Сортировка по допполю price. Параметр xfilter=price - для отбрасывания пустых значений допполя *}
{include file="engine/modules/base/blockpro.php?xfilter=price&sort=xf|price&order=new"}

xfSortType

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

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?xfSortType=string}

order

Направление сортировки.

Djpvjжные значения:

  • new - новые в начале
  • old - старые в начале
  • asis - как есть. Выводит новости в том порядке, в котором они указаны в строке подключения. На данный момент она распространяется только на ID новостей.

Значение по умолчанию:

&order=new

Примеры использования:

{include file="engine/modules/base/blockpro.php?order=new}
{include file="engine/modules/base/blockpro.php?order=old}
{include file="engine/modules/base/blockpro.php?order=asis}

avatar

Разрешает вывод аватарки автора новости.

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?avatar=y}

showstat

Показывать статистику выполнения блока.

?> Статистика отображается только для админов

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?showstat=y}

related

Включает модуль в режим отображения похожих новостей, переменная принимает id новости и тогда блок похожих новостей можно вывести даже в на странице с краткими новостями.

Если же указать значение this - блок будет работать только в полной новости и показывать новости, похожие на просматриваемую

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?related=156}
{include file="engine/modules/base/blockpro.php?related=this}

saveRelated

Записывать в БД похожие новости.

При первом обращении к старнице в БД будут записаны id выведенных похожих новостей, используя стандартный алгоритм DLE, при повторных обращениях (при отсутсвии кеша) данные будут браться из ранее записанных.

Если нужно выводить и стандартные похожие новости и похожие новости через модуль — эту переменную использовать не нужно.

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?saveRelated=y}

showNav

Включить постраничную навигацию в блоке

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?showNav=y}

pageNum

Текущая страница в блоке при загрузке страницы, при постраничной конфигурации.

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?pageNum=5}

navStyle

Стиль постраничной навигации.

Возможны следующие стили:

  • classic: << Первая < 1 [2] 3 > Последняя >>
  • digg: << Назад 1 2 ... 5 6 7 8 9 [10] 11 12 13 14 ... 25 26 Вперёд >>
  • extended: << Назад | Страница 2 из 11 | Показаны новости 6-10 из 52 | Вперёд >>
  • punbb: 1 ... 4 5 [6] 7 8 ... 15
  • arrows: << Назад Вперёд >>

Значение по умолчанию:

&navStyle=classic

Примеры использования:

{include file="engine/modules/base/blockpro.php?navStyle=classic}
{include file="engine/modules/base/blockpro.php?navStyle=digg}
{include file="engine/modules/base/blockpro.php?navStyle=extended}
{include file="engine/modules/base/blockpro.php?navStyle=punbb}
{include file="engine/modules/base/blockpro.php?navStyle=arrows}

navDefaultGet

Отслеживать стандартную навигацию DLE

При указании этого параметра модуль будет брать значение текущей страницы и формировать постраничную навигацию так же как это делается в DLE. Таким образом вы можете заменить тег {content} на строку подключения модуля в списках новостей, или просто организовать постраничную навигацию с перезагрузкой страницы.

?> Кстати!
Для замены стандартных шаблонов shortstory на шаблоны модуля сожно использовать DLE-BlockProLight

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?navDefaultGet=y}

fields

Колонки, добавляемые в запрос на получение новостей

Префикс p. — колонка из таблицы dle_post, a e. — из таблицы dle_post_extras

Таким образом можно выводить данные из новостей даже если в БД DLE вносились дополнения.

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?fields=p.custom,e.custom1}

setFilter

Собственная фильтрация данных

Параметр предназначен для создания собственных условий фильтрации. Корректность передачи данных не проверяется, будьте внимательнее при построении условий фильтрации.

Передавать каждый параметр фильтрации следует тремя частями разделяя их вертикальной чертой |. Где:

  • первая часть — поле из БД,
  • вторая — оператор (см. ниже),
  • третья — значение.

При этом параметры друг от друга следует отделять двойной вертикальной чертой ||

Т.к. DLE, в целях безопасности, не позволяет передавать напрямую символы '>' и '<' через строку подключения, было принято решение использовать следующий порядок передачи операторов:

  • gt или +>
  • lt или -<
  • eq или ==
  • gte или +=>=
  • lte или -=<=
  • not или -+ или +-!=
  • SEARCHLIKE
  • NOT_SEARCHNOT LIKE

Таким образом переданная строка p.comm_num|gt|100||e.news_read|lt|500 превратится в часть запроса: p.comm_num > 100 AND e.news_read < 500

Если третья часть параметра будет указана как NOW(), то будет подставлен текущий timestamp.

Значение по умолчанию:

false

Примеры использования:

{* Новости, опубликованные в 2016 году. *}
{include file="engine/modules/base/blockpro.php?setFilter=YEAR(p.date)|eq|2016}

{* Новости, у которых дата начала события (нестандартное поле) больше или равна текущему моменту времени. *}
{include file="engine/modules/base/blockpro.php?setFilter=p.event_start|gte|NOW()}

{* Новости, в заголовке которых содержится словосочетание "Добро пожаловать". *}
{include file="engine/modules/base/blockpro.php?setFilter=p.title|SEARCH|Добро пожаловать}

{* Новости, у которых в заголовке нет текста "Добро пожаловать" *}
{include file="engine/modules/base/blockpro.php?setFilter=p.title|NOT_SEARCH|Добро пожаловать}

experiment

Включает экспериментальные функции модуля.

Этот параметр включает улучшенные, но не оттестированные до конца, функции модуля.

Значение по умолчанию:

false

Примеры использования:

{include file="engine/modules/base/blockpro.php?experiment=y}