Плагин Menu

22.11.2024

Для чего нужен плагин Menu

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

Где хранится плагин Menu

В папке plugins, в файле menu.php.

Если хотите внести какие-либо изменения в код этого плагина, то перенесите его в папку plugins/custom - так он не будет заменён стандартным плагином в случае обновления CMS.

Как создать и оформить меню или список

В меню администратора выберите Навигация \ Варианты оформления меню.

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

Доступные поля:

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

HTML-код меню

Если Вы не разбираетесь в HTML, то лучше самостоятельно не вносите здесь изменения.

Поля для HTML-кода можно разбить на 3 вида:

  • Основное оформление
  • Альтернативное оформление
  • Оформление пагинации

Основное оформление

В поле HTML-код до меню можно указать начало оформления, а в поле HTML-код после меню - конец оформления меню. Например, это теги ul, navdiv или table.

Список или меню может состоять из одного или нескольких блоков. Если Вы разделение на блоки не планируете, то предполагается, что блок будет один. Если используете табличную вёрстку, то, в полях HTML-код до блока и HTML-код после блока могут быть указаны, например, теги tr.

Можно также заполнить поле HTML-код между блоками. Если блок будет всего один, то то, что здесь указано, выведено не будет, что следует из названия поля...

Остались поля для записей (элементов списка или меню):

  • HTML-код обычной записи - здесь могут быть указаны, например, теги li или td, а также свойства записей, например {content_name}. Это поле одинаково доступно для всех типов меню и списков.
  • HTML-код активной записи - аналогичное по смыслу поле, но оформление из него используется вместо оформления из предыдущего поля только для активной записи (а также для надразделов активной записи). Если речь идёт о меню страниц, то здесь Вы можете указать, как должна выглядеть в меню открытая в данный момент страница (или надраздел открытой в данный момент страницы). Для некоторых типов меню это поле недоступно (так как не все типы можно открыть), а для некоторых типов меняется смысл данного поля. Например, если мы отображаем список пользователей, то здесь можно задать оформление текущего пользователя. Если речь идёт о списке чатов, то здесь можно задать оформление чатов с непрочитанными сообщениями. А если речь идёт о списке сообщений в чате, то здесь можно задать оформление непрочитанных сообщений.
  • HTML-код между записями - если в меню будет всего одна запись, то то, что здесь указано, выведено не будет, что следует из названия поля...

Альтернативное оформление

В поле HTML-код, который будет отображён, если список пуст можно написать текст или HTML-код, который нужно отобразить в ситуации, когда список оказывается пустым. Например, если речь идёт о списке результатов поиска, а поиск не дал результатов, то здесь можно написать что-то вроде Ничего не найдено.

Оформление пагинации

Список может быть разделён на подстраницы (например, 100 товаров, могут быть разбиты на 5 страниц по 20 товаров). Для оформления отображения списка из номеров подстраниц (это часто называется "пагинацией") также есть несколько полей. Они аналогичны тем, что используются для основного оформления, но без разделения на блоки:

  • HTML-код до списка подстраниц и HTML-код после списка подстраниц - например, теги p
  • HTML-код обычного элемента списка подстраниц и HTML-код активного элемента списка подстраниц - например, теги a и свойства подстраниц, вроде {menu_subpage} (номер подстраницы) и {menu_subpage_url} (URL подстраницы)
  • HTML-код между элементами списка подстраниц - будет использоваться только, если подстраниц более, чем одна.

Как отобразить меню или список с нужными параметрами

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

По умолчанию команда вызова такая: {plugin:menu}

Но такая команда результата не даст, так как не заданы (в том числе обязательные) параметры.

Параметры состоят из имени и значения, которые отделяются друг от друга двоеточием :

Одна пара имя:значение от другого аналогичной пары отделяется точкой с запятой ;

От имени плагина параметры также отделяются точкой с запятой

Пример:

У нас есть два параметра. У первого название par1, а значение test. У второго название param2, а значение yahoo

Команда вызова плагина при этом будет такая {plugin:menu;par1:test;param2:yahoo}.

Некоторые параметры могут быть обязательными. Некоторые параметры могут быть (не)доступны или изменены при определённых значениях других параметров.

Для некоторых параметров доступны значения по умолчанию. Параметры со значениями по умолчанию можно не указывать.

Параметры плагина Menu

В старых версиях CMS набор доступных параметров и доступных значений может отличаться. Если Ваша CMS устарела, то рекомендуется обновить её до самой свежей версии.

Также на набор параметров и значений может влиять комплект поставки.

Имя параметра Значение параметра и комментарии
id

ID одного из вариантов оформления меню, которые можно найти в разделе меню администратора Навигация \ Варианты оформления меню.

Это обязательный параметр. Без него плагин вернёт пустой результат.

blocks

Количество блоков, на которые нужно разбить меню.

По умолчанию: 1.

Допускаются целые положительные числа.

inblock

Количество элементов в блоке.

Допускаются целые положительные числа.

Доступен, если не задан blocks.

fixblocks

Фиксировать ли блоки.

Доступны только следующие варианты:

  • on - фиксировать (по умолчанию)
  • off - не фиксировать

Влияет на выравнивание коротких меню: например, если в списке всего 4 записи и inblock:3, то при fixblocks:off в обоих блоках будет по 2 записи, а при fixblocks:on в первом блоке будет 3 записи, а во втором 1.

types

Список типов записей, которые нужно отобразить.

По умолчанию - все типы контента.

Если нужно отобразить записи только некоторых типов, то ID типов нужно указать через запятую. Список доступных типов можно найти в разделе меню администратора Справочники \ Типы. Этот раздел доступен только при наличии в комплекте поставке Zion Pub Hub или Zion Catalog.

Также доступны следующие варианты, которые нельзя перечислять через запятую (только один из вариантов, несочетающийся ни с одним другим вариантом):

  • tabs - Вкладки (доступен при наличии в комплекте поставки ZIon Catalog)
  • elements - Элементы (доступен при наличии в комплекте поставки ZIon Catalog)
  • langs - Языки (доступен только наличии в комплекте поставки ZIon Multi-Lang)
  • delivery - Способы доставки (доступен при наличии в комплекте поставки ZIon Catalog)
  • transcomp - Транспортные компании (доступен при наличии в комплекте поставки ZIon xDelivery)
  • payment - Способы оплаты (доступен при наличии в комплекте поставки ZIon Catalog)
  • orders - Заказы активного пользователя (доступен при наличии в комплекте поставки ZIon Catalog)
  • inorders - Товары в заказе активного пользователя (доступен при наличии в комплекте поставки ZIon Catalog)
  • users - Зарегистрированные пользователи (доступен при наличии в комплекте поставки ZIon User Control)
  • balans - История баланса активного пользователя (доступен при наличии в комплекте поставки ZIon Catalog и Zion User Control)
  • chats - Чаты активного пользователя (доступен при наличии в комплекте поставки ZIon Chat)
  • inchats - Сообщения в чате активного пользователя (доступен при наличии в комплекте поставки ZIon Chat)

Несочетающиеся значения не доступны при select:last.

select

Указание на то, по какому принципу нужно выбирать записи, которые будут отображаться в меню.

Может быть заполнено значением из переменной GET[select]. При этом обязательно должна присутствовать переменная GET[menu], равная значению параметра id.

Для отображения контентных единиц доступны варианты:

  • children - "потомки" - непосредственные подразделы, указанного в factor раздела (по умолчанию)
  • children-all - "все потомки" - все подразделы, указанного в factor раздела (если все подразделы имеют один и тот же тип, то для крупных сайтов рекомендуется использовать не children-all, а all с указанием нужных типов в types - это сильно снизит нагрузку на БД)
  • all - все записи с учётом других параметров фильтрации (это рекомендуемая замена для варианта children-all, который может сильно снижать производительность на крупных сайтах)
  • brothers - "братья" - записи с тем же место в структуре, что и указанный в factor раздел
  • parents - "предок и его братья" - надраздел, указанного в factor раздела и указанного в level уровня, а также другие разделы с тем же местом в структуре
  • path - "путь" - список надразделов от верхнего уровня в структуре до указанного в factor раздела (полезно, например, для создания так называемых "хлебных крошек")
  • linked - "связи" - только те записи, с которыми связана указанная в factor запись
  • backlinks - "обратные связи" - только те записи, которые связаны с указанной в factor записью
  • link4user - "связанные с пользователем" - только те записи, с которыми связан указанный в factor пользователь
  • list - "список" - только те записи, ID которых перечислены через запятую в include
  • last - "последние" - последние записи, просмотренные данным посетителем сайта (в этом режиме сортировка всегда ведётся от последней просмотренной записи к первой)
  • basket - "корзина" - только те записи, которые помещены в корзину для заказов (доступен только при наличии в комплекте поставки ZIon Catalog)

Для отображения вкладок доступны варианты (при наличии в комплекте поставки ZIon Catalog):

  • all - все вкладки
  • linked - "связи" - только те вкладки, на которых есть элементы указанной в factor контентной единицы (по умолчанию)
  • list - "список" - только те вкладки, ID которых перечислены через запятую в include

Для отображения элементов контента доступны варианты (при наличии в комплекте поставки ZIon Catalog):

  • all - все элементы контента, в том числе и недоступные для указанной в factor контентной единицы (рекомендуется для организации сравнения)
  • linked - "связи" - все элементы контента, доступные для указанной в factor контентной единицы (по умолчанию)
  • ontabs - "на вкладках" - только те элементы контента, которые расположены на указанных в tabs вкладках указанной в factor контентной единицы
  • list - "список" - только те элементы контента, ID которых перечислены через запятую в include

Из списка элементов автоматически исключается  htmlsource (HTML-код веб-страницы). Чтобы исключить зацикливание, следует в include указывать те элементы, из которых может производится вызов плагинов, например, maintext (Основной текст).

Для отображения языков доступен вариант (при наличии в комплекте поставки ZIon Multi-Lang):

  • all - все доступные языки (по умолчанию)

Для отображения пользователей доступны варианты (при наличии в комплекте поставки ZIon User Control):

  • all - все пользователи (по умолчанию)
  • list - "список" - только те пользователи, ID которых перечислены через запятую в include

Для отображения истории баланса доступен вариант (при наличии в комплекте поставки ZIon Catalog и Zion User Control):

  • all - все изменения

Для отображения способов доставки доступен вариант (при наличии в комплекте поставки ZIon Catalog):

  • all - все доступные способы доставки

Для отображения транспортных компаний доступен вариант (при наличии в комплекте поставки ZIon xDelivery):

  • all - все доступные траспортные компании

Для отображения способов оплаты доступен вариант (при наличии в комплекте поставки ZIon Catalog):

  • all - все доступные способы оплаты

Для отображения списка чатов доступны варианты (при наличии в комплекте поставки ZIon Chat):

  • all - все чаты активного пользователя (по умолчанию)
  • new - только чаты активного пользователя, в которых есть непрочитанные сообщения

Для отображения сообщений в чате доступны варианты (при наличии в комплекте поставки ZIon Chat):

  • all - все сообщения из указанного в factor чата (по умолчанию)
  • new - только непрочитанные сообщения из указанного в factor чата
search

Если этот параметр задан, то производится поиск указанного в данном параметре текста

Рекомендации:

  • select - в большинстве случаев должен быть равен all, но доступны и другие варианты
  • factor - желательно явно указать, если select не равен all
  • чтобы автоматически подставить в search или в любое другое место искомый текст, используйте команду {plugin:current_SearchText}

Не доступен при несочетающихся вариантах types.

Не доступен при select:path и при select:list.

search-cols

Указание на то, в каких столбцах производить поиск.

Поля отделяются друг от друга запятыми, (без пробелов и других символов)

Если в подсказке к полю указано {content_name}, то здесь укажите name и т.п.

Список полей проверяется. Некорректные исключаются. Если после проверки не останется ни одного корректного поля, то будет подставлено значение по умолчанию:
id,name,seo_title,seo_description,seo_keywords,maintext_value = ID, название, основные SEO-параметры, основной текст

Доступно при непустом search.

bigdata

Указание на то, планируется ли обработка большого количества данных.

  • Для небольших списков лучше не использовать, так как эффект от оптимизации может быть обратным

Доступны только следующие варианты:

  • on - оптимизировать
  • off - НЕ оптимизировать (по умолчанию)

При types:elements всегда равно on

Не доступен при types:tabs и при types:users

level

Уровень, разделы которого нужно вывести.

Доступен при select:parents.

По умолчанию - 0 - непосредственный надраздел и его "братья"

Допускаются целые числа

Если level больше уровня раздела, указанного в factor, то select:parents меняется на select:children, а factor становится равным ID "предка" уровня (level-1)

factor

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

Доступны следующие варианты:

  • ID любого раздела, например factor:contacts (при select:children отобразит подразделы такого раздела)
  • . (например, factor:.)
    • "верхний уровень" - при select:children отобразит все разделы, для которых место в структуре равно (верхний уровень)
  • Пустое значение (например, factor:)
    • "вне структуры" - при select:children отобразит все разделы, для которых место в структуре равно (вне структуры)
  • По умолчанию - ID открытого в данный момент раздела
  • При types:inorders - ID заказа (может принимать значения из GET[order]). Данный заказ должен быть доступен для текущего пользователя (и для администраторов). Возможно при наличии в комплекте поставки ZIon Catalog.
  • При types:inchats - ID чата (может принимать значения из GET[chat]). Данный чат должен быть доступен для текущего пользователя (иначе будет произведена переадресация на список чатов). Возможно при наличии в комплекте поставки ZIon Chat.

Также доступен вариант {content_id} - автоматически подставляемое ID раздела.

Если вызов плагина Menu производится из HTML-кода веб-страницы или из любого другого элемента данной контентной единицы, то вместо {content_id} будет подставлено ID данной контентной единицы.

Если вызов плагина Menu вызывается также из плагина Menu (например, если в надменю нужно вызвать подменю, то для вызова подменю указывайте factor:{content_id}). В этом случае соответствующее ID контентной единицы будет подставлено для каждого пункта надменю.

Доступно использование любых других свойств (не только контента)

fellLinks

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

Внимание! Так как активными (а также следующими после активных и предыдущими для активных) в этом случае могут считаться сразу несколько записей, порядок которых заранее неизвестен, использование данного параметра может привести к одновременному и многократному срабатыванию условий IS_NEXT??истина::ложь и IS_PREV??истина::ложь, что невозможно во всех других случаях. Используйте данный параметр с данными условиями на свой страх и риск!
tabs

ID вкладок, перечисленные через запятую, для указанной в factor контентной единицы, для которой нужно отобразить список элементов контента.

Это обязательный параметр при types:elements;select:ontabs

Доступен при types:elements и select:ontabs.

hidden

Указание на то, стоит ли отображать скрытые записи.

  • Скрытыми контентными единицами считаются записи без адреса.
  • Скрытыми элементами контента считаются записи с пустым, нулевым или незаполненным значением.

Доступны следующие варианты:

  • show - показывать
  • hide - скрывать (по умолчанию)
При types:elements доступен, если select:ontabs или select:list. При select:list, если например в include указаны stringfield_5,number_3, то на заполненность будут проверяться поля stringfield_5_value и number_3_value - то есть поля, имена которых заканчиваются на _value.
include

Список ID записей, которые нужно добавить в меню.

При указании этого параметра в меню будут включены дополнительные пункты (если они существуют).

При отсутствии значения оно может быть заполнено значением из переменной GET[include]. При этом обязательно должна присутствовать переменная GET[menu], равная значению параметра id.

Если эти пункты уже есть в меню, дублирование не произойдёт.

Недоступен при types:orderstypes:inorderstypes:balans, types:chats и types:inchats.

Это обязательный параметр при select:list.

По умолчанию записи, добавленные через include, добавляются в конец списка. Чтобы это изменить, используйте параметр include-sort со значением, отличающимся от значения по умолчанию.

exclude

Список ID записей, которые нужно исключить из меню.

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

Этот параметр имеет больший приоритет по сравнению с include.

notzero

Отображать только записи с ненулевыми значениями в указанном поле

Например:

  • notzero:stringfield_15_value - будут показаны только записи, у которых в поле stringfield_15_value не равно 0

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

positive

Отображать только записи с положительными значениями в указанном поле

Например:

  • positive:number_10_value - будут показаны только записи, у которых в поле number_10_value больше 0

Полезно использовать, например, для отображения только товаров в наличии

checked

Отображать только записи, у которых отмечена соответсвущая галочка

Например:

  • checked:checkbox_23_value - будут показаны только записи, у которых в поле checkbox_23_value равно on (отмечено)

Можно использовать не только для галочек, но и для любых полей, где может быть значение on.

cookie

Имя массива куков

Список элементов из этого массива будет добавлен к include.

Доступен при select:list.

hidecopies

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

Игнорируется, если в этом массиве есть только один элемент

Доступен при types:elements.

inlist

Максимальное количество записей, которые нужно вывести в списке.

По умолчанию - 0 - все найденные записи

Допускаются целые неотрицательные числа

listing

Указание на то, стоит ли отображать список подстраниц

Доступны следующие варианты:

  • show - всегда показывать
  • hide - всегда скрывать
  • auto - скрывать, если нет необходимости отображать (по умолчанию)

В режиме auto будет отображаться только, если подстраниц больше, чем одна. Иначе будет скрываться.

subpage

Номер активной подстраницы

При отсутствии значения оно может быть заполнено значением из переменной GET[subpage]. При этом обязательно должна присутствовать переменная GET[menu], равная значению параметра id.

По умолчанию - 1 - первая подстраница

Допускаются целые положительные числа

maxsubpages

Максимально допустимое количество подстраниц в пагинации

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

Допускаются целые положительные числа

random

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

По умолчанию - 0 - не использовать случайную выборку, а отобразить все элементы в обычном порядке.

Допускаются целые неотрицательный числа

userbrowser

Веб-браузер посетителя, под который должна быть сделана оптимизация.

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

Доступны только следующие варианты:

  • Opera - классический Opera
  • Chrome - Google Chrome или другой браузер на движке Chromium (в т.ч. Яндекс.Браузер и новые Opera и Edge)
  • Internet Explorer - Microsoft Internet Explorer или другой браузер на движке Trident
  • Firefox - Mozilla Firefox или другой браузер на движке Gecko
  • Safari - Apple Safati или другой браузер на движке WebKit
  • Other - другой браузер
content-type

Позволяет изменить тип контента в заголовках, передаваемых веб-сервером.

По умолчанию передаётся тип контента text/html

Внимание: при указании альтернативного типа контента, дробную черту / нужно менять на дефис -

Например:

  • application-xml - если нужен тип контента application/xml
charset

Позволяет изменить набор (кодировку) символов в заголовках, передаваемых веб-сервером.

По умолчанию передаётся кодировка windows-1251

Внимание: кодировка применяется ко всему выводимому контенту! Помимо указания заголовка производится конвертация из кодировки windows-1251 в кодировку, указанную в данном параметре!

При content-type:application-xml рекомендуется использовать кодировку utf-8

filter

Использовать ли фильтр.

Доступны следующие варианты:

  • on - использовать
  • off - не использовать (по умолчанию)

При on можно использовать массив переменных GET[filter]. Например, если в адресной строке указано...?filter[name]=Тест&filter[type]=pages..., то из найденных с помощью других параметров записей в списке будут отображены только записи, у которых поле name равно значению Тест, а поле type равно значению pages.

Если нужна проверка не на равенство, а на соответствие другим условиям, то дополнительно нужно использовать массив переменных GET[filterFunc], В котором имена переменных должны быть такими же, как в GET[filter], а значения должны соответствовать одной из функций сравнения. Например, если в адресной строке указано...?filter[price]=100&filterFunc[price]=more..., то из найденных с помощью других параметров записей в списке будут отображены только записи, у которых поле price больше значения 100.

Доступны следующие функции:

  • equal - равно (по умолчанию)
  • !equal - неравно - больше или меньше
  • more - больше
  • less - меньше
  • !more - не больше - меньше или равно
  • !less - не меньше - больше или равно
  • between - между - больше, чем одно значение, и меньше, чем другое значение. При этом в GET[filter] должны быть указаны два значения, через ;. Например, ...?filter[price]=100;500&filterFunc[price]=between...
  • range - диапазон - равно или больше, чем одно значение, и равно или меньше, чем другое значение. При этом в GET[filter] должны быть указаны два значения, через ;. Например, ...?filter[price]=100;500&filterFunc[price]=range...
  • substring - подстрока (например, в строке розовый слон будет найдена подстрака слон или подстрока роз и т.п.)

Элементы GET[filter] массивов и GET[filterFunc] могут быть заменены значениями из элементов массивов POST[filter] и POST[filterFunc] с соответсвующими ключами.

Не доступен при types:tabs и types:elements.

Не доступен при select:list, select:new и select:path.

Количество элементов в массиве GET[filter] не ограничено, но многие веб-серверы и веб-браузеры не (корректно) выполняют очень длинные GET-запросы.

datefrom_...

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

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

Пример временной метки текущего времени (29.11.2024 08:43:20): 1732859000

По умолчанию - 0 - отображать все записи.

Не доступен при select:path и select:list.

Не доступен при несочетающихся вариантах types.

dateto_...

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

По умолчанию - 0 - отображать все записи.

Не доступен при select:path и select:list.

Не доступен при несочетающихся вариантах types.

year_...

Показывать только записи с датой в указанном году.

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

По умолчанию - 0 - отображать все записи.

year_... имеет больший приоритет, чем datefrom_... и dateto_... - по сути переопределяет оба эти параметра.

Не доступен при select:path и select:list.

Не доступен при несочетающихся вариантах types.

month_...

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

По умолчанию - 0 - отображать все записи.

Если при наличии этого параметра параметр year_... пуст, то ему будет присвоен текущий год.

Не доступен при select:path и select:list.

Не доступен при несочетающихся вариантах types.

day_...

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

По умолчанию - 0 - отображать все записи.

Если при наличии этого параметра параметр month_... пуст, то ему будет присвоен текущий месяц.

Не доступен при select:path и select:list.

Не доступен при несочетающихся вариантах types.

sort

Указание на то, как следует сортировать найденные записи.

Доступны следующие варианты:

  • id - сортировать по ID (недоступно при types:inchats)
  • -id - сортировать по ID в обратном порядке (недоступно при types:inchats)
  • name - сортировать по названию (недоступно при types:balans, types:orders, types:chats и types:inchats)
  • -name - сортировать по названию в обратном порядке (недоступно при types:balans, types:orders, types:chats и types:inchats)
  • date - сортировать по дате (доступно при types:balans, types:chats или types:inchats)
  • -date - сортировать по дате в обратном порядке (доступно при types:balans, types:chats или types:inchats)
  • fields - сортировка по указанному в sort-fields списку полей
  • none - сортировать на основе положения в базе данных (по умолчанию)
  • -none - сортировать на основе положения в базе данных в обратном порядке (рекомендуется для новостей, статей и т.п.)

При select:linked и select:backlinks доступны варианты сортировки по возрастанию по следующим столбцам из таблицы связей:

  • id - ID связи
  • fromid - ID связывающейся записи
  • toid - ID связываемой записи
  • reason - причина связи
  • info - информация о связи
  • price - цена связи
  • description - описание связи

Также доступна сортировка контента по полям с датой (при наличии в комплекте поставки ZIon Pub Hub):

У одной контентной единицы может быть несколько полей с датой. У каждого такого поля есть свой номер. Возможна сортировка по любому из них - достаточно просто указать его номер в команде sort:date_... или sort:-date_... (в обратном порядке).

Если сортировка по дате недоступна, то sort:date_... будет изменено на sort:none, а sort:-date_... будет изменено на sort:-none, где ... - любой доступный номер поля с датой.

Аналогично выше описанной сортировке по датам возможна сортировка по датам, как ежегодных событий (при наличии в комплекте поставки ZIon Pub Hub):

Полезно, например, для отображения дней рождения или других праздников

В этом случае в место sort:date_... нужно написать sort:yearly_..., где ... - любой доступный номер поля с датой. Такая сортировка в обратном порядке не предусмотрена.

Значение данного параметра может быть изменено на значение из COOKIE[sort][ID меню], где ID меню равно значению параметра id.

В свою очередь в COOKIE[sort][ID меню] значение может быть записано, если одновременно в GET[sort] указано какое-либо корректное значение, а в GET[menu] указано значение параметра id.

Значение в COOKIE[sort][ID меню] будет сброшено, если одновременно в GET[sort] указано пустое значение, а в GET[menu] указано значение параметра id. При этом параметр sort будет изменён на значение по умолчанию.

Любая сортировка не доступна при select:path, select:list, select:last и types:elements.

По умолчанию записи, добавленные через include, добавляются в конец списка. Чтобы это изменить, используйте параметр include-sort со значением, отличающимся от значения по умолчанию.

include-sort

Сортировать или нет записи, добавленные через include

Доступны только следующие варианты:

  • begin - записи будут добавлены в начало списка в том порядке, в котором они указаны в include
  • end - записи будут добавлены в конец списка в том порядке, в котором они указаны в include (по умолчанию)
  • sort - записи, указанные в include, будут отсортированы также, как все остальные записи в списке

Любая сортировка не доступна при select:path, select:list, select:last и types:elements.

sort-fields

Указание на то, по каким полям необходимо сортировать список.

Доступно указание нескольких полей через запятую, например, name,stringfield_2_value,number_5_value. Порядок полей имеет значение.

Если в подсказке к полю указано {content_name}, то здесь укажите name и т.п.

Если нужна сортировка в обратном порядке по тому или иному полю, то перед его названием нужно указать символ -. Например, -number_5_value.

Значение данного параметра может быть изменено на значение из COOKIE[sort-fields][ID меню], где ID меню равно значению параметра id.

В свою очередь в COOKIE[sort-fields][ID меню] значение может быть записано, если одновременно в GET[sort-fields] указано какое-либо корректное значение, а в GET[menu] указано значение параметра id.

Значение в COOKIE[sort-fields][ID меню] будет сброшено, если одновременно в GET[sort-fields] указано пустое значение, а в GET[menu] указано значение параметра id. При этом параметр sort будет изменён на значение по умолчанию.

sort-numbers

 

Указание на то, какие поля при сортировке нужно считать числами.

Без использования этого параметра в некоторых случаях в результате сортировки вместо списка вида, 1, 2, 3, 10, 20, 100 может получиться список вида 1, 10, 100, 2, 20, 3.

Доступно указание нескольких полей через запятую, например, name,

stringfield_2_value,number_5_value. Порядок полей имеет значение.

Если в подсказке к полю указано {content_name}, то здесь укажите name и т.п.

Учитывается при использовании sort-fields.

reason

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

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

Помимо указания одной из причин также доступны следующие варианты:

  • !exists - будут отображены только те связи, для которых указана любая (не "пустая") причина
  • !notexists - будут отображены только те связи, для которых причина не указана (указана "пустая" причина)
  • Пустое или не указанное значение (по умолчанию) - будут отображены все связи с учётом других параметров фильтрации.

Доступен при select:linked и select:backlinks и только для списков контента


CMS Zion WebEngine является бесплатной системой. Развивается за счёт рекламы, помощи веб-студии #webZion и других спонсоров.

 

Будем рады, если Вы поддержите нас любой суммой, а также поделитесь идеями на счёт каких-либо улучшений и доработок для CMS...

 

Заранее, большое, спасибо

 

Блог обновлений

Zion WebEngine X6.11.10
  • Доработано считывание записей из базы данных: учтена обработка некоторых спецсимволов в некоторых веб-браузерах
  • Реализовано ещё больше заготовок для более быстрого создания сайта
  • Доработан плагин универсального меню:
    • Реализовано отображение количество записей на странице
    • Реализовано отображение количество всех найденных записей (на открытой подстранице и на остальных в сумме)
  • Расширен набор свойств для контентных единиц
    • Реализовано определение количества непосредственных подразделов
    • Реализовано определение количества всех подразделов (непосредственных и глубже по структуре)
    • Реализовано определение количества связанных контентных единиц
    • Реализовано определение количества категорий, к которым отнесена контентная единица
  • Расширен набор свойств для категорий
    • Реализовано определение количества непосредственных подкатегорий
    • Реализовано определение количества всех подкатегорий (непосредственных и глубже по структуре)
    • Реализовано определение количества контентных единиц в категории
    • Реализовано определение количества контентных единиц в категории и во всех её подкатегориях
  • Выпущена финальная версия пакета "Дерево статей" (Articles Tree). Больше самостоятельно он развиваться не будет. Весь функционал для статей теперь доступен в новом пакете "Хаб публикаций" (Pub Hub). Этот пакет продолжит активно развиваться - его функционал уже намного шире.

Zion WebEngine Zion Articles Tree База данных/Таблицы данных Веб-браузер Категории Кодировки/Наборы символов Контент/Контентные единицы Меню/Списки/Навигация Место в структуре Пагинация/Подстраницы Плагины Связи Свойства

Zion WebEngine X6.11.09
  • Доработано оформление форм добавления и перемещения записей: их смысл будет понятнее нерусскоязычным пользователям
  • Доработано создание записей по умолчанию
  • Начат перевод статей на новую платформу:
    • Расширен список вариантов сортировки в плагине универсального меню
    • Расширен список условий для тонкой настройки каждого отдельного пункта меню
    • В помощнике по вставке универсального плагина меню дополнен список доступных параметров

Zion WebEngine Контент/Контентные единицы Меню/Списки/Навигация Плагины Платформа Помощники/Мастеры/Инструкции/Подсказки Условия Формы

Zion WebEngine X6.11.08
  • Устранена проблема с отображением изображений
  • Создано и включено в комплект поставки множество заготовок и примеров для более быстрого создания сайта: список будет пополняться
  • Доработан плагин универсального меню:
    • более продуманно организован вывод подстраниц
    • улучшено определение активной категории
  • Доработан помощник по вставке универсального плагина меню: уточнена информация по некоторым доступным параметрам

Zion WebEngine Zion Pub Hub Изображение Категории Меню/Списки/Навигация Пагинация/Подстраницы Плагины Помощники/Мастеры/Инструкции/Подсказки

Zion WebEngine X6.11.07
  • Удалена поддержка новостей из старой платформы:
    • доработан выбор редакторов контента
    • доработан драйвер оболочки
    • доработана система мониторинга для меню
    • доработано кэширование
    • доработаны плагины:
      • связей
      • RSS
    • доработаны мастера вставки:
      • плагина меню статей
      • плагина TimeMashine
      • плагина RSS
  • Начиная с сегодняшнего дня пакет NewsLine больше не поддерживается - он не совместим с более новыми версиями Ядра и других пакетов.
    • если у Вас старая версия Ядра (старше, чем X6.11.07), то мы можем его Вам установить
    • для более новых версий Ядра рекомендуем установку более функционального пакета PubHub X6.11.04 и выше
  • Доработана автоматическая SEO-оптимизация:
    • учтены особенности новостей из новой платформы
    • учтены особенности категорий из новой платформы
  • В поиске учтены особенности страниц, новостей и категорий из новой платформы
  • Доработано создание меню и списков (например, новостей) по умолчанию для контентных единиц и для категорий
  • Доработан класс для управления базой данных: улучшена обработка некоторых спецсимволов
  • Выявлена проблема при отображении изображений в списке новостей (устраняется)

Zion WebEngine Zion SEO Booster Zion Pub Hub Zion Articles Tree SEO-параметры XML/RSS/1С/YML База данных/Таблицы данных Дата/Время/TimeMashine Драйверы Изображение Категории Кодировки/Наборы символов Контент/Контентные единицы Кэш/Кеш Меню/Списки/Навигация Мониторинг Плагины Платформа Поиск текста Помощники/Мастеры/Инструкции/Подсказки Редактор контента/WYSIWYG-редактор Связи

Zion WebEngine X6.11.06
  • Доработан плагин универсального меню:
    • Завершено внедрение функционала для категорий
    • Исправлено задание параметров по умолчанию для сортировки
    • Автоматизировано формирование ссылок на подстраницы (при постраничном листании списков, например, новостей)
    • Стало доступно использование таких свойств меню, как ID и название при оформлении того же меню
    • Стало доступно использование новых условий для тонкой настройки отображения пунктов меню:
      • Если в той или иной категории в списке нет ни одной контентной единицы
      • Если у той или иной контентной единицы в списке выбран указанный тип
  • Устранена ошибка при определении места в структуре для категорий и для контентных единиц
  • Доработан класс для управления меню: улучшена навигация в интерфейсе администратора
  • Выпущена финальная версия пакета "Лента новостей" (News Line). Больше самостоятельно он развиваться не будет. Весь функционал для новостей теперь доступен в новом пакете "Хаб публикаций" (Pub Hub). Этот пакет продолжит активно развиваться - его функционал уже намного шире.

Zion WebEngine Zion News Line Административный интерфейс Категории Классы Контент/Контентные единицы Меню/Списки/Навигация Место в структуре Пагинация/Подстраницы Плагины Свойства Типы Условия

Zion WebEngine X6.11.05
  • Доработан плагин универсального меню:
    • Улучшено скрытие записей из указанных категорий
    • Реализовано скрытие записей из подкатегорий указанных категорий
    • Реализовано отображение категорий по аналогии с отображением контентных единиц (работа не завершена)
  • Доработан помощник по вставке плагина универсального меню: актуализирован список доступных параметров
  • Доработано автоматическое определение идентификаторов при добавление записей в базу данных
  • Доработан класс для управления меню: расширены возможности тонкой настройки отображения пунктов меню
  • Доработан класс для управления категориями: добавлено несколько полезных функций для работы с древовидной структурой категорий
  • Доработан драйвер оболочки: более корректно обрабатываются свойства категорий
  • Доработан класс для управления категориями: оптимизирован алгоритм некоторых функций

Zion WebEngine База данных/Таблицы данных Драйверы Категории Классы Меню/Списки/Навигация Место в структуре Плагины Помощники/Мастеры/Инструкции/Подсказки Свойства Условия

Zion WebEngine X6.11.04
  • Доработан плагин универсального меню:
    • При задании параметров сортировки по дате учтена вероятность того, что у каждой записи может быть несколько полей с датами
    • Реализовано отображение записей до указанной даты
    • Реализовано отображение записей после указанной даты
    • Реализовано отображение записей за указанный год
    • Реализовано отображение записей за указанные месяц (по умолчанию текущего года)
    • Реализовано отображение записей за указанный день (по умолчанию текущего месяца текущего года)
    • Реализовано отображение последних просмотренных записей
    • Реализована фильтрация записей по категориям в зависимости от параметров, переданных в адресной строке
    • Временно запрещено использование параметров для скрытия записей из указанных категорий (дорабатывается)
    • Улучшено отображение записей только из указанных категорий
    • Реализовано отображение записей из подкатегорий указанных категорий
  • Доработан помощник по вставке плагина универсального меню: актуализирована информация по доступным параметрам
  • При редактировании всех элементов контента теперь доступно отображение идентификаторов полей: так удобнее определять, по какому полю нужно организовать сортировку в меню
  • Устранена ошибка в классе для работы с базой данных: данные о столбцах считывались правильно, но отображались в некорректном формате
  • Реализовано сохранение списка последних просмотренных записей
  • Доработана автоматическая корректировка базы данных при добавлении новых элементов контента

Zion WebEngine Zion Pub Hub База данных/Таблицы данных Дата/Время/TimeMashine Категории Классы Контент/Контентные единицы Куки Меню/Списки/Навигация Плагины Помощники/Мастеры/Инструкции/Подсказки Фильтрация Элементы

Zion WebEngine X6.11.03
  • Доработан помощник по вставке плагина универсального меню: дополнена информация о новых доступных параметрах
  • Доработан класс для управления меню
    • Добавлена возможность настраивать то, что будет показано в случае, если в меню/списке нет ни одной записи
    • Улучшено отображение пути к редактору меню в интерфейсе администратора
    • Добавлена возможность настраивать отображение списка подстраниц
    • В редакторе меню теперь отображаются подсказки по использованию некоторых свойств меню
    • Улучшено отображение всех доступных условий для более тонкой настройки отображения меню
    • Повышена производительность за счёт упразднения некоторых излишних проверок
  • Доработан плагин универсального меню:
    • Реализована возможность ограничивать количество записей в списке
    • Реализована возможность отображать записи по подстраницам
    • Устранена вероятность конфликтных ситуаций при одновременном использовании нескольких меню
    • Реализована возможность отображать определённый HTML-код или текст в случае, если список записей в меню пуст
    • Реализовано отображение списка подстраниц
    • Реализована сортировка в обоих направлениях по ID, по названию, по дате и на основе расположения в базе данных
  • Доработано меню администратора для ядра: добавлено несколько автоматизаций
  • Доработан класс для работы с базой данных
    • Добавлены новые полезные функции
    • Улучшено отображение ошибок при обращении к базе данных
  • Устранена ошибка из предыдущей поставки: до этого была интегрирована beta-версия класса для работы с контентом

Zion WebEngine Административный интерфейс База данных/Таблицы данных Классы Контент/Контентные единицы Меню/Списки/Навигация Меню администратора Пагинация/Подстраницы Плагины Помощники/Мастеры/Инструкции/Подсказки Свойства Условия

Zion WebEngine X6.11.02
  • Оптимизирована работа плагина универсального меню: удалены некоторые дублирующие друг друга функции
  • Доработан драйвер оболочки: устранены некоторые недочёты при использовании свойств категорий
  • Доработан плагин категорий: улучшено использование свойств категорий
  • Доработан класс для управления категориями: завершена работа по реализации функционала для использования свойств категорий
  • Доработано меню администратора для Ядра: улучшена автоматизация
  • Доработано создание записей по умолчаний в таблицах шаблонов, контента и категорий
  • Доработан плагин универсального меню
    • Добавлена возможность отображать записи из указанных (нескольких) категорий
    • Добавлена возможность скрывать записи из указанных (нескольких) категорий
  • Доработан помощник по вставке плагина универсального меню: добавлены подсказки по новым доступным параметрам

Zion WebEngine База данных/Таблицы данных Драйверы Категории Контент/Контентные единицы Меню/Списки/Навигация Меню администратора Плагины Помощники/Мастеры/Инструкции/Подсказки Свойства Шаблоны контента

Zion WebEngine X6.11.01
  • Доработано отображение ошибок при обращении к базе данных
  • Для нужд категорий доработаны элементы "Многострочное поле без редактора", "Изображение" и "SEO-параметры"
  • Доработана адаптация для категорий элементов "Основной текст" и "Многострочное поле с редактором"
  • Создан помощник по вставке свойств категорий в любое нужное место
  • Доработан класс для работы с контентом:
    • Более корректно используются связи между контентными единицами
    • Более корректно используются изображения
  • Для нужд контентных единиц доработан элемент "Изображение"
  • Создан плагин для отображения свойств категорий в любом месте
  • Для автоматического определения свойств категорий доработан драйвер оболочки
  • Доработан класс для работы с категориями: реализован функционал для использования свойств категорий (пока поддерживаются не все свойства)

Zion WebEngine Zion Pub Hub SEO-параметры База данных/Таблицы данных Драйверы Изображение Категории Классы Контент/Контентные единицы Многострочные поля Основной текст Плагины Помощники/Мастеры/Инструкции/Подсказки Связи Свойства Элементы

Zion WebEngine X6.10.31
  • Оптимизировано расположение элементов в меню администратора для Ядра
  • Доработаны очень многие классы: теперь из элементов могут состоять не только контентные единицы, но и категории - это делает их функционал бесконечно расширяемым
  • Элементы контента по умолчанию недоступны для категорий: это сделано намеренно, так как принцип использования категорий отличается от принципа использования контентых единиц
    • Для категорий теперь доступны элементы "Основной текст" и "Многострочное поле с редактором"
    • Ведётся работа по адаптации под категории других необходимых элементов
  • Доработаны некоторые административные скрипты
  • Доработано отображение ошибок при обращении к базе данных

Zion WebEngine База данных/Таблицы данных Категории Классы Контент/Контентные единицы Меню администратора Многострочные поля Основной текст Элементы

Zion WebEngine X6.10.30
  • Доработан класс для работы с категориями: реализовано несколько удобств
  • Реализовано отображение древовидных структур при правке связей и категорий
  • Доработано редактирование древовидной структуры веб-страниц
  • Реализовано отображение подсказок для свойств категорий

Zion WebEngine Категории Классы Место в структуре Помощники/Мастеры/Инструкции/Подсказки Связи Свойства

Zion WebEngine X6.10.29
  • Доработано создание категорий по умолчанию
  • Доработано отображение ошибок при обращении к базе данных
  • Устранены некоторые ошибки при работе с категориями
  • Реализована возможность редактировать список записей, связанных с категорией непосредственно при правке категории

Zion WebEngine База данных/Таблицы данных Категории Связи

Zion WebEngine X6.10.28
  • Доработано создание типов контента по умолчанию
  • Доработана графическая составляющая интерфейса администратора для Ядра
  • Начата работа по созданию класса для управлениям категориями контента: это последний элемент, необходимый для перевода новостей и статей на новую платформу
  • Устранена ошибка в классе для управления изображениями: исключена попытка определить размеры отсутствующего изображения
  • Улучшены средства отладки в классе для управления базой данных
  • Доработано отображение дат
  • Доработано создание шаблонов по умолчанию: более удобно расположены некоторые элементы контента
  • Доработан класс для управления связями:
    • повышена производительность за счёт отключения некоторых излишних проверок
    • устранена вероятность некорректного срабатывания в случаях, когда ни одна связь ещё не установлена
  • Доработан класс для управления контентом: улучшена поддержка некоторых новых элементов контента
  • Доработаны некоторые административные скрипты

Zion WebEngine Zion Pub Hub Административный интерфейс База данных/Таблицы данных Дата/Время/TimeMashine Изображение Категории Классы Контент/Контентные единицы Платформа Связи Типы Шаблоны контента Элементы

Zion WebEngine X6.10.27
  • Завершена работа по созданию класса для управления датами

Zion Pub Hub Дата/Время/TimeMashine Классы

Zion WebEngine X6.10.26
  • Завершена работа над классом для управления изображениями: всё максимально упрощено и автоматизировано
  • Доработан класс для управления контентом: учтены особенности работы с изображениями
  • Доработан класс для управления базой данных: расширены возможности отладки при поиске возможных ошибок
  • Доработан плагин универсального меню: устранена проблема с отображением веб-страниц вне структуры
  • Начата работа по созданию класса для управления датами

Zion WebEngine Zion Pub Hub База данных/Таблицы данных Дата/Время/TimeMashine Изображение Классы Контент/Контентные единицы Меню/Списки/Навигация Место в структуре Плагины

Zion WebEngine X6.10.25
  • Расширен функционал класса для управления изображениями: внедрены функции автоматического создания эскизов заданных размеров (работа не завершена)

Zion Pub Hub Изображение Классы Эскизы

Zion WebEngine X6.10.24
  • Доработан класс для работы с изображениями: работа почти завершена
  • Расширен список вкладок в редакторах шаблонов и контентных единиц: все изображения теперь можно хранить на отдельной вкладке
  • Для нужд изображений доработана административная JS/CSS-составляющая
  • Доработана русификация в файл-менеджере: в некоторых редко используемых режимах по умолчанию включался английский язык

Zion WebEngine Zion Pub Hub Вкладки Изображение Классы Контент/Контентные единицы Многоязычность/Языки Файл-менеджер Шаблоны контента

Zion WebEngine X6.10.23
  • Упрощено создание записей по умолчанию, в том числе шаблонов, страниц, редактируемых полей и вариантов оформления меню
  • Создан класс для работы с изображениями: работа не завершена
  • Доработаны вспомогательные классы: учтены особенности некоторых новых элементов контента

Zion WebEngine Zion Pub Hub Изображение Классы Контент/Контентные единицы Меню/Списки/Навигация Шаблоны контента Элементы

Zion WebEngine X6.10.22
  • Из Ядра и Хаба публикаций удалены различные архаизмы
  • Доработан класс для работы с базой данных: упрощены некоторые стандартные операции
  • Доработан класс для работы с типами контента: упрощено создание типов по умолчанию

Zion WebEngine Zion Pub Hub База данных/Таблицы данных Классы Контент/Контентные единицы Типы