05-04 Select Dynamic, Ordering и Generic - стандартные поля SEBLOD

05-04 Select Dynamic, Ordering и Generic - стандартные поля SEBLOD
2020-08-10
203

Стандартные поля CCK SEBLOD - Select Dynamic (выпадающий список из БД), Ordering (сортировка) и Generic (поиск).

В этой статье стандартные поля CCK SEBLOD такие как Select Dynamic, позволяющий создать выпадающий список, пункты которого формируются запросом к базе данных и специальные поля Ordering и Generic, обеспечивающие сортировку и поиск.

Продолжим описание полей доступных в CKK SEBLOD «из коробки», т.е. стандартных полей. Об условной классификации полей SEBLOD в начале материала «Стандартные поля SEBLOD: text, textarea, checkbox, radio, calendar».

Описанные в предыдущих статьях поля Seblod можно условно назвать также и обычными полями, так большинство подобных полей есть во всех компонентах, претендующих на роль конструктора контента. Некоторые из них есть и в составе custom fields – самой системы Joomla. В этой статье начнем описание более продвинутых, специфических полей.

Как обычно поля рассматриваются в двух аспектах, соответствующих сторонам сайта. Admin (админка) – особенности поля со стороны админки сайта. Site (сайт) – тот вид, который введенные/выбранные в админке данные приобретают на сайте, т.е. видны обычному пользователю.

Поле SEBLOD типа «Select Dynamic» (№16)

Поле типа Select Dynamic, отличается от других полей типа select, описанных в статье «Стандартные поля SEBLOD: Simple, Multiple, Numeric – простые списки», массив его данных формируется запросом к базе данных.

В админке поле типа Dynamic выглядит как поле <select> - простой выпадающий список, из которого администратор сайта выбирает полученные данные из базы для вставки в материал.

Поле SEBLOD типа «Select Dynamic» (№16)

На сайте поле типа Dynamic выводится в двух вариантах. На странице материала (товара) как обычная строка данных. В форме обратной связи или форме поиска – поле выпадающий список, как в админке, с той разницей, что вид поля зависит от настроек CSS.

Так же поля типа Dynamic могут и не выводится на стороне сайта, так как, наряду с другими полями типа select, checkbox или radio, могут использоваться как поля - критерии для вывода (сокрытия) других полей.

Основная «магия» для использования полей типа Dynamic происходит при их создании (настройке). Как и для других полей для поля типа Dynamic есть возможность создания подписи (label) и значения по-умолчанию. Здесь же происходит наполнение поля.

Заполнение поля данными производится запросом к БД. Подходов к наполнению поля, а значит формированию запроса к БД, может быть два – использование полей ввода (режим Construction) и непосредственная запись запроса (режим Free).

В режиме Construction – все данные формирующие запрос к БД заносятся в созданные разработчиком Seblod поля. Поле «Table» предназначено для внесения имени таблицы БД.

Поле Dynamic позволяет обратится к любой таблице БД сайта, как к стандартной для Joomla (#__categoties, #__content и т.д.), так и к любой созданной разработчиком сайта, например, к таблице со списком стран.

В поле «Options Name» вносится имя поля таблицы БД, значение из которого будет выводится на сайте, например, поле наименование страны таблицы Страны. В поле «Options Value» вносится имя поля БД, значение из которого будет записываться в качестве значения поля Dynamic в базу (если хранение данных поля в БД настроено), например, ID таблицы Страны. Таким образом для строки поля Select Dynamic формируется пара «Текст = Значение (Text = Value)».

Это обязательные для работы поля Dynamic поля. Также можно заполнить данными поля «Where» для детализации запроса к таблице с большим числом записей, и поле «Order By» для сортировки результата запроса.

Поле Select Dynamic позволяет сделать мультивыбор значений. Для этого выбираем Yes в поле «Multiple» и назначаем разделитель для выбранных значений.

На мультиязычных сайтах поле Select Dynamic обеспечивает возможность формирования пар Text (RU, EN, DE...) => Value, где в качестве Text выступает отдельное поле таблицы БД.

В режиме Free – необходимо самостоятельно сформировать запрос к БД и записать его в поле «SQL Query».

На страницах сайта на CMS Joomla нет примеров полей, созданных на Select Dynamic. Пользовательские – любые поля списков выбора, данные которых хранятся в БД. Обычно с помощью этого поля делается выборка Категорий для разделов Статей отдельных типов контента, если они на одном уровне (без вложенности).

Для вывода многоуровневого списка категорий существуют поле, созданное в сообществе CCK Seblod и не входящие в стандартный пакет.

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

Поле SEBLOD типа «Ordering» (№17)

«Ordering» - специальное поле компонента Seblod, предназначенное для сортировки записей, выводимых в списках, сформированных компонентом. Список (List&Search) – специальный формат вывода записей, характерный именно для CCK Seblod.

Поле SEBLOD типа «Ordering» (№17)

В админке поле типа Ordering не выводится. На сайте – поле представляет собой выпадающий список выбора критерия сортировки. Выводится в формах поиска привязанных к спискам записей Seblod и в специальных модулях компонента типа «Search - SEBLOD».

Настройки поля Ordering предусматривают создания подписи (label) и критериев сортировки. Сортировка возможна по любому полю таблиц базы данных, участвующих в формировании вывода в списке записей Seblod. Возможен прямой и обратный порядок сортировки по каждому полю.

Следует учитывать, что при использовании полей select любого типа использующих пары «Text => Value» в стандартной поставке компонента Seblod сортировка осуществляется по value, т.е. по значению, непосредственно записанному в поле таблицы БД, выбранному в качестве критерия сортировки.

Поле SEBLOD типа «Generic» (№18)

«Generic» - специальное поле компонента Seblod, предназначенное для создания поиска по полям записей, выводимых в списках, сформированных компонентом. Список (List&Search) – специальный формат вывода записей, характерный именно для CCK Seblod.

Поле SEBLOD типа «Generic» (№18)

В админке поле типа Generic не выводится. На сайте – поле представляет собой поле типа <input> позволяющее пользователю вводить строковые данные (буквы, цифры) для поиска. Выводится в формах поиска привязанных к спискам записей Seblod и в специальных модулях компонента типа «Search - SEBLOD».

Настройки поля Generic предусматривают задание размеров input, создания подписи (label) и критериев поиска. Поиск возможен по любому полю таблиц базы данных, участвующих в формировании вывода в списке записей Seblod.

Следует учитывать, что при использовании полей select любого типа использующих пары «Text => Value» в стандартной поставке компонента Seblod поиск осуществляется по value, т.е. по значению, непосредственно записанному в поле таблицы БД, выбранному в качестве критерия поиска.

Свяжитесь с нами

Другие материалы по теме

E-STAS.COM E-STAS.COM
05. Конструктор контента Seblod
FaLang translation system by Faboba