Плагин Menu

Плагин Menu

14.04.2020

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

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

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

Плагин Menu хранится в папке plugins, в файле menu.php. 

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

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

В меню администратора выберите раздел Навигация \ Варианты оформления меню. Здесь можно изменить уже имеющиеся оформления меню или создать новые.

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

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

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

HTML-код меню

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

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

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

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

В поле HTML-код до меню можно указать начало оформления меню, а в поле HTML-код после меню - конец оформления меню. Например, это могут быть теги ul или 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)
  • 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 раздела
  • brothers - "братья" - записи с тем же место в структуре, что и указанный в factor раздел
  • parents - "предок и его братья" - надраздел, указанного в factor раздела и указанного в level уровня, а также другие разделы с тем же местом в структуре
  • path - "путь" - список надразделов от верхнего уровня в структуре до указанного в factor раздела (полезно, например, для создания так называемых "хлебных крошек")
  • linked - "связи" - только те записи, с которыми связана указанная в factor запись
  • backlinks - "обратные связи" - только те записи, которые связаны с указанной в 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 Catalog):

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

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

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

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

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

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

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

  • select - в большинстве случаев должен быть равен children-all, но доступны и другие варианты
  • factor - желательно явно указать
  • чтобы автоматически подставить в 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.
include

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

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

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

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

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

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

exclude

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

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

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

notzero

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

Например:

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

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

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)
  • 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 - подстрока (например, в строке розовый слон будет найдена подстрака слон или подстрока роз и т.п.)

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

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

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

datefrom_...

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

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

Пример временной метки текущего времени (11.07.2020 07:02:46): 1594440166

По умолчанию - 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)
  • none - сортировать на основе положения в базе данных (по умолчанию)
  • -none - сортировать на основе положения в базе данных в обратном порядке (рекомендуется для новостей, статей и т.п.)

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

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

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

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

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

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

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

Записи, добавляемые через параметр include, не сортируются. Всегда добавляются в конец списка.

 

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

 

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

 

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

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

Zion WebEngine 20.07.09
  • Доработан класс для управления базой данных:
    • При правке списка типов теперь доступна кнопка Просмотреть, которая ведёт к списку контента с данным типом:
      • Ранее аналогичная кнопка уже была доступна на панели инструментов при правке какого-либо типа
    • Если есть хотя бы одна запись того или иного типа, то при правке списка типов для него будет недоступна кнопка Удалить эту запись:
      • Вместо неё будет доступна кнопка Удалить все записи такого типа:
        • Аналогичные изменения сделаны и для панели инструментов при правке какого-либо типа
    • Это сделано для решения проблемы, при которой в случае удаления типа, связанные с ним записи контента оставались в базе данных:
      • Их невозможно было удалить или отредактировать
      • Они могли занимать собой какие-либо нужные ID
      • Теперь тип удалить не получится, пока не будут удалены все связанные с ним записи контента

Zion WebEngine База данных/Таблицы данных Классы Контент/Контентные единицы Панель инструментов Типы Что такое Тип контента?

Zion WebEngine 20.07.08
  • Доработан настраиваемый модуль для онлайн-оплаты через Интернет-эквайринг от Альфа Банка: (спасибо Devi):
    • Дополнена инструкция по переводу оплаты в "боевой" режим
    • Устранены недочёты, выявленные при тестировании
  • Доработан класс для управения скидками:
    • Реализована подсказка о том, как расширить список доступных скидок, в том числе для зарегистрированных на сайте пользователей
  • Доработан класс для управения способами оплаты:
    • Реализована подсказка о том, как расширить список доступных способов оплаты, в том числе онлайн-оплаты
  • Доработан класс для управения способами доставки:
    • Реализована подсказка о том, как расширить возможности доставки и самовывоза, в том числе точный расчёт стоимости и срока доставки, а также выбор точки самовывоза на интерактивной карте

Zion Catalog Zion xPayment Доступы/Пользователи Настраиваемые модули Помощники/Мастеры/Инструкции/Подсказки Скидки/Наценки Способы доставки/самовывоза Способы оплаты

Zion WebEngine 20.07.07
  • Доработан класс для управления email-сообщениями (спасибо Новый стандарт):
    • Оптимизирован расход памяти при загрузке не отправленных сообщений
    • Устранена проблема, которая при некорректном (несуществующем) адресе получателя в одном сообщении могла остановить рассылку остальных сообщений
    • Теперь, если на данный момент есть неотправленные сообщения, то их количество можно увидеть в разделе Опции \ Обратная связь административного интерфейса:
      • В некоторых случаях это поможет устранить проблемы с отправкой, если они есть

Zion WebEngine Что такое Административный интерфейс и Гостевой интерфейс? Email-рассылки Email-сообщения Административный интерфейс Классы

Zion WebEngine 20.07.03
  • Доработан монитор очистки (спасибо Devi):
    • Оптимизирован список файлов от устаревших компонентов, которые нужно автоматически удалить при обновлении ядра
  • Создан настраиваемый модуль для онлайн-оплаты через Интернет-эквайринг от Альфа Банка:
    • Разработка завершена, но тестирование ещё продолжается

Zion WebEngine Zion xPayment Мониторинг Настраиваемые модули Обновления CMS Способы оплаты Файлы/Папки

Zion WebEngine 20.07.02
  • Некоторые компоненты доработаны для внедрения в ближайших обновлениях новых способов онлайн-оплаты (спасибо Devi)

Zion WebEngine Zion Catalog Zion xPayment Обновления CMS Способы оплаты

Zion WebEngine 20.07.01
  • Повышено удобство при работе с автоматическими скидками (спасибо Devi):
    • Для плагина автоматического меню доступно новое условие IS_DISCOUNT_EXISTS??истина::ложь, позволяющее использовать разное оформление для товаров, на которые распространяется или не распространяется скидка
    • Доработаны классы для работы со скидами и корзиной:
      • Реализован функционал, упрощающий отображение цен, как с учётом скидок, так и без их учёта, а также с учётом и без учёта количества товара в корзине заказов
    • Доработан элемент Число:
      • Расширен набор подсказок по использованию цен со скидками и без скидок
  • Для пакетов Zion Qiwi и Zion Robokassa выпущены финальные обновления:
    • Теперь они будут развиваться в рамках нового пакета Zion xPayment, в котором скоро появится ещё больше способов оплаты и соответствующих настраиваемых модулей для интеграции с различными платёжными системами
  • Доработана система мониторинга:
    • Оптимизировано удаление устаревших компонентов
    • Оптимизирована проверка на соответствие веб-сервера некоторым техническим требованиям

Zion WebEngine Zion Catalog Zion Robokassa Zion Qiwi Zion xPayment Технические требования Qiwi Касса Robokassa Веб-сервер/Хостинг Классы Корзина для заказов Меню/Списки/Навигация Мониторинг Настраиваемые модули Обновления CMS Плагины Помощники/Мастеры/Инструкции/Подсказки Сайт-каталог Скидки/Наценки Способы оплаты Условия Число Элементы

Zion WebEngine 20.06.30
  • Доработан настраиваемый модуль для оплаты через банк (спасибо Новый стандарт):
    • Устранены некоторые недочёты при отображении кнопки для распечатки счёта
  • Значительно переработан алгоритм работы автоматических скидок (спасибо Devi):
    • Создан новый настраиваемый модуль для автомтического начисления скидки для всех подразделов указанного надраздела, например, для всех товаров из той или иной категории
    • Доработаны все другие настраиваемые модули скидок, а также классы для управления скидками и корзиной заказов:
      • Теперь модули скидок могут принимать больше параметров, чем раньше
    • Доработан элемент Число:
      • Актуализирована подсказка по использованию скидок

Zion Catalog Zion User Control Категории Классы Корзина для заказов Место в структуре Настраиваемые модули Помощники/Мастеры/Инструкции/Подсказки Сайт-каталог Скидки/Наценки Способы оплаты Число Элементы

Zion WebEngine 20.06.26
  • Доработана система мониторинга для ядра:
    • Уменьшено количество статистических данных
    • Создан монитор очистки, который будет запускать только один раз после обвновления ядра:
      • Его задача удалить более ненужные, в том числе, устаревшие компоненты, а также скорректировать базу данных под новый формат в случае необходимости
  • Доработан класс для работы с обновлениями CMS:
    • Устранены некоторые недочёты
  • Доработан драйвер оболочки:
    • Переработан запуск системы мониторинга
  • Доработаны некоторые компоненты из пакета Zion Server:
    • Повышена совместимость с недостаточно качественно настроенными веб-серверами
    • Переработана система мониторинга

Zion WebEngine Zion Server Что такое система Мониторинга? Веб-сервер/Хостинг Драйверы Мониторинг Обновления CMS

Zion WebEngine 20.06.25
  • Доработан класс для работы с email-сообщениями (спасибо Чистая Магия):
    • Переработан алгоритм отправки email-сообщений:
      • Ранее почтовый SMTP-сервер мог отклонить попытку отправки двух и более сообщения за один раз из соображений воспрепятствования распространению спама:
        • Такая ситуация могла возникнуть, в том числе, в тех случаях, когда включено email-уведомление клиента в интернет-магазине о том, что его заказ получен, или его статус изменён и т.п.
      • Теперь в случаях, когда нужно сделать отправку двух и более писем, первое сообщение отправляется, как обычно, а второе и последующие сохраняются в базе данных для отложенной отправки:
        • Отложенная отправка второго сообщения может быть сделана уже через доли секунд.
        • Для этих же целей были доработаны главные файлы гостевого и административного интерфейсов, а также главные файлы аутентификации и восстановления доступа:
          • В них отложенная отправка производится "в фоновом режиме", в том числе при AJAX-обращениях к плагинам, при переадресациях и во многих других случаях
  • Доработан класс для управления контентом (спасибо Hotel of Things):
    • Устранены некоторые недочёты при создании записей по умолчанию:
      • Поля в таблицах данных для элемента Основной текст теперь имеют более подходящий тип данных
  • Доработан класс для управления SMS-шлюзом (спасибо КБ Группа):
    • Доработана инструкция по работе с SMS-шлюзом:
      • В том числе добавлена информация я том, что необходимо сделать, если оператор "Мегофон" не доставляет Ваши SMS-сообщения из-за подозрения в рассылке спама
  • Доработаны некоторые компоненты из пакета Zion Booking:
    • Повышена совместимость с недостаточно качественно настроенными веб-серверами
  • Работа с корзиной для мусора теперь реализована полностью на новой платформе:
    • Удалены все компоненты, необходимые для работы корзины в старой платформе
  • Доработано меню администратора:
    • Удалены некоторые, более неактуальные подразделы из раздела Информация
    • Остальные его подразделы перенесены в раздел Инструменты
      • Оптимизирован алгоритм подсчёта места, занимаемого файлами
      • Оптимизирован алгоритм вывода информации о параметрах сервера

Zion WebEngine Zion Booking Что такое Административный интерфейс и Гостевой интерфейс? AJAX Email-рассылки Email-сообщения SMS SMTP/PHP-mail Административный интерфейс Адрес (URL)/ЧПУ/Переадресация База данных/Таблицы данных Веб-сервер/Хостинг Гостевой интерфейс Доступы/Пользователи Интернет-магазин Классы Контент/Контентные единицы Корзина для мусора Меню администратора Основной текст Плагины Платформа Помощники/Мастеры/Инструкции/Подсказки Спам Уведомления о заказах Элементы

Zion WebEngine 20.06.22
  • Доработаны некоторые компоненты из пакета Zion Multi-Lang:
    • Повышена совместимость с недостаточно качественно настроенными веб-серверами

Zion Multi-Lang Веб-сервер/Хостинг Многоязычность/Языки

Zion WebEngine 20.06.19
  • Доработан класс для управления обновлениями:
    • Завершено внедрние возможности автоматической установки обновлений для CMS:
      • В будущих версиях мы продолжим улучшать данный функционал

Zion WebEngine Что такое CMS Zion WebEngine? Классы Обновления CMS

Zion WebEngine 20.06.11
  • Доработан класс для управления SMS-шлюзом (спасибо Moto-Retail18):
    • Повышена совместимость с не самыми свежими версиями CMS, в которых структура таблиц данных со способами уведомления о заказах изначально отличается от необходимой

Zion WebEngine Что такое CMS Zion WebEngine? SMS База данных/Таблицы данных Классы Уведомления о заказах

Zion WebEngine 20.06.10
  • Доработан плагин универсального меню (спасибо ЦентрСпецЗапчасть):
    • Устранены проблемы с фильтрацией записей по подстроке
  • Доработан класс для управления базой данных  (спасибо Пермский период):
    • При создании автоматических ID учтена привычка некоторых пользователей оставлять пробелы в начале и/или в конце названий:
      • Ранее вместо этих пробелов из названия в ID (иногда) могли подставляться дефисы
  • Доработан класс для управления корзиной заказов (спасибо Moto-Retail18):
    • Учтена привычка некоторых пользователей заполнять форму заказа не сверху вниз, а снизу вверх:
      • Ранее из-за этого в случае смены способа доставки/самовывоза им пришлось бы заполнять некоторые поля дважды
  • Доработаны некоторые компоненты из пакета Zion Banners Manager:
    • Повышена совместимость с недостаточно качественно настроенными веб-серверами

Zion WebEngine Zion Catalog Zion Banners Manager База данных/Таблицы данных Баннеры Веб-сервер/Хостинг Классы Корзина для заказов Меню/Списки/Навигация Плагины Способы доставки/самовывоза Фильтрация Формы Плагин Menu

Zion WebEngine 20.06.05
  • Доработан класс для управления обновлениями:
    • Продолжаем внедрять возможность автоматической установки обновлений для CMS

Zion WebEngine Что такое CMS Zion WebEngine? Классы Обновления CMS

Zion WebEngine 20.06.01
  • Доработан класс для управления заказами (спасибо Moto-Retail18):
    • Устранена несовместимость с обновлениями некоторых систем управления базами данных, которая влияла на возможность отправки email-уведомлений о заказах
  • Доработан класс для управления email-сообщениями (спасибо Color House):
    • Учтены новые "особенности" email-сервиса Mail.Ru, из-за которых email-уведомления с сайта могут не доставляться получателю

Zion WebEngine Zion Catalog Что такое Свойства? Email-сообщения База данных/Таблицы данных Классы Корзина для заказов Уведомления о заказах

Zion WebEngine 20.05.28
  • Доработаны класс для управления проектом и система мониторинга для ядра (спасибо Group Experience):
    • Реализована возможность отключать переадресацию с HTTP на HTTPS силами CMS для совместимости с некоторыми хостерами, на которых такую переадресацию на стороне веб-сервера отключить невозможно:
      • Существование двух переадресаций отдельно могло создать проблемы
    • Реализована задержка при сохранении свойств проекта:
      • Это сделано для совместимости с веб-серверами, которые нарушают чётко прописанный порядок чтения/записи файлов
  • Доработан класс для управления базой данных (спасибо Пермский период):
    • Устранены косметические недочёты при автоматическом формировании идентификаторов
  • Доработано меню админастратора для пакета Zion Qiwi:
    • Повышена совместимость с недостаточно качественно настроенными веб-серверами
  • Оптимизирован дистрибутив ядра и пакета Zion Sender:
    • Из комплекта поставки удалены более не актуальные компоненты, в основном нужные для старой платформы

Zion WebEngine Zion Qiwi Что такое Свойства? Email-рассылки HTTP/HTTPS/SSL-сертификаты Qiwi Касса Адрес (URL)/ЧПУ/Переадресация База данных/Таблицы данных Веб-сервер/Хостинг Драйверы Классы Меню администратора Мониторинг Платформа Свойства Файлы/Папки

Zion WebEngine 20.05.25
  • Доработана форма обратной связи (спасибо Hotel Of Things)
    • Устранена проблема отображения формы с параметрами по умолчанию

Zion Mail Back Обратная связь/Обратный звонок Формы

Zion WebEngine 20.05.24
  • Оптимизирован дистибутив пакет Zion Pub Hub (спасибо Group Experience):
    • Устранена проблема при замене эскиза по умолчанию во время обновления CMS

Zion Pub Hub Что такое CMS Zion WebEngine? Обновления CMS Эскизы

Zion WebEngine 20.05.22
  • Оптимизирован дистибутив пакет Zion Mail Back (спасибо Пермский период):
    • Из него удалены некоторые файлы, которые также присутствуют в ядре
  • Доработаны очень многие компоненты (спасибо Group Experience):
    • Повышена совместимость с недостаточно качественно настроенными веб-серверами

Zion WebEngine Zion Gallery Zion Mail Back Zion SEO Booster Zion JivoSite Что такое Комплект поставки? Email-сообщения Веб-сервер/Хостинг

Zion WebEngine 20.05.19
  • Оптимизирован дистибутив ядра (спасибо Hotel Of Things):
    • Из него удалены некоторые файлы, которые создаются самостоятельно при установке или обновлении CMS
  • Доработан класс для управления базой данных:
    • Устранена проблема с созданием новой записи контента без выбора шаблона (спасибо Строительные машины):
      • Если для типа контента выбран шаблон по умолчанию, то проблем не было
      • Теперь проблема не возникает и для типов контента без шаблона по умолчанию
    • Реализована возможность включения/отключения обратного порядка при отображение любых списков в административном интерфейсе (спасибо Федерация Киокусинкай Пермского края):
      • При этом становятся недоступны перетаскивание записей и кнопки перемещения записей (чтобы не вводить пользователей в заблуждение)
      • Для каждого списка обратный порядок включается/отключается отдельно:
        • Например, страницы Вы можете просматривать в обычном порядки, а новости - в обратном (от старых к новым) 
  • Доработан класс для управления галереями (спасибо Ломбард "ЗалогАвто"):
    • Устранена проблема, при которой в случае удаления элемента галереи из одного шаблона, могли удалиться слайды из контента, никак не связанного с этим шаблоном
  • Доработаны некоторые драйвера, мониторы, формы и обработчики:
    • Продолжаем снижать зависимость некоторых компонентов от корзины для мусора
  • Оптимизированы драйверы Converter, Imaginer, TreeStructer:
    • Удалены функции, которые по различным причинам более не используются, например, устарели и/или уже реализованы иначе в других компонентах
  • Доработан настраиваемый модуль для уведомлений о заказах на системный e-mail:
    • Устранены недочёты в некоторых подсказках
  • Доработан класс для управления SMS-шлюзом:
    • Теперь в названии организации-отправителя можно в том числе использовать кавычки
  • Доработан класс для управления контентом (спасибо Devi59):
    • Теперь при правке отфильтрованного списка контентных единиц на панели инструментов не отображается кнопка Удалить все записи, чтобы не вводить в заблуждение пользователя, который попытавшись удалить только отфильтрованные записи, в результате удалит все записи

Zion WebEngine Zion Catalog Zion Gallery Zion Sender Email-сообщения SMS База данных/Таблицы данных Галереи/Слайды Драйверы Изображение Классы Кодировки/Наборы символов Контент/Контентные единицы Корзина для мусора Место в структуре Мониторинг Настраиваемые модули Обновления CMS Обработчики Панель инструментов Помощники/Мастеры/Инструкции/Подсказки Типы Уведомления о заказах Файлы/Папки Фильтрация Формы Шаблоны Элементы Как редактировать Контент?