Стандартные поля 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> - простой выпадающий список, из которого администратор сайта выбирает полученные данные из базы для вставки в материал.
На сайте поле типа 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.
В админке поле типа Ordering не выводится. На сайте – поле представляет собой выпадающий список выбора критерия сортировки. Выводится в формах поиска привязанных к спискам записей Seblod и в специальных модулях компонента типа «Search - SEBLOD».
Настройки поля Ordering предусматривают создания подписи (label) и критериев сортировки. Сортировка возможна по любому полю таблиц базы данных, участвующих в формировании вывода в списке записей Seblod. Возможен прямой и обратный порядок сортировки по каждому полю.
Следует учитывать, что при использовании полей select любого типа использующих пары «Text => Value» в стандартной поставке компонента Seblod сортировка осуществляется по value, т.е. по значению, непосредственно записанному в поле таблицы БД, выбранному в качестве критерия сортировки.
Поле SEBLOD типа «Generic» (№18)
«Generic» - специальное поле компонента Seblod, предназначенное для создания поиска по полям записей, выводимых в списках, сформированных компонентом. Список (List&Search) – специальный формат вывода записей, характерный именно для CCK Seblod.
В админке поле типа Generic не выводится. На сайте – поле представляет собой поле типа <input> позволяющее пользователю вводить строковые данные (буквы, цифры) для поиска. Выводится в формах поиска привязанных к спискам записей Seblod и в специальных модулях компонента типа «Search - SEBLOD».
Настройки поля Generic предусматривают задание размеров input, создания подписи (label) и критериев поиска. Поиск возможен по любому полю таблиц базы данных, участвующих в формировании вывода в списке записей Seblod.
Следует учитывать, что при использовании полей select любого типа использующих пары «Text => Value» в стандартной поставке компонента Seblod поиск осуществляется по value, т.е. по значению, непосредственно записанному в поле таблицы БД, выбранному в качестве критерия поиска.
Другие материалы по теме
- Checkbox Dynamic и Checkbox Numeric - дополнительные поля SEBLOD, часть 2
- Core 42, Author, Captcha Math, NoCaptcha - дополнительные поля SEBLOD, часть 1
- Field X, Div, Tabs, Icon - стандартные поля SEBLOD
- File, Folder, Form HTML и Joomla! Article дополнительные поля SEBLOD, часть 4
- Form, List, Select Dynamic Cascade, Search Query платные поля SEBLOD
- Group, Group X, Email и Module - стандартные поля SEBLOD
- Seblod и материалы Joomla, особенности работы
- Select Dynamic, Ordering и Generic - стандартные поля SEBLOD
- Select Simple, Multiple, Numeric - стандартные поля SEBLOD, простые списки
- Text, Textarea, Checkbox, Radio, Calendar - стандартные поля SEBLOD
- Upload Image, Upload File и Color Picker - стандартные поля SEBLOD
- Wysiwyg Editor, Freetext, Link, Button - стандартные поля SEBLOD
- Youtube, Vimeo, Dailymotion, Iframe - дополнительные поля SEBLOD, часть 3
- Плагины SEBLOD Link – добавляем ссылки к полям
- Плагины SEBLOD Live – подстановка значений в поля
- Плагины SEBLOD Restriction – вывод полей по определенным условиям
- Плагины SEBLOD Typo – переопределяем стандартный вывод полей
- Поля группы Joomla Library - стандартные поля SEBLOD