Дополнительные поля MODX Revolution. Modx дополнительные поля
Дополнительные поля (TV)
Дополнительные поля (Template Variables) — элементы для расширения стандартных полей ресурса.
Вкладка «Параметры ввода»
Параметры ввода — тот вид поля, который будет отображаться в админ панели, при редактировании ресурса. Есть несколько заранее предустановленных параметров, но если их не хватает, можно добавить разнообразия с помощью дополнительных компонентов, вроде MIGX.
Стандартные варианты параметров ввода:
- Авто-метка (auto-tag) список элементов подобных тегам
- Дата (date)
- Изображение (image)
- Переключатели (radio)
- Скрытый (hidden) (не отображается в админ. панели и на сайте)
- Список (одиночный выбор) / listbox (single-select)
- Список (Множественный выбор) / listbox (multi-select)
- Список ресурсов (resource list) (из структуры сайта)
- Тег (tag)
- Текст (text) (обычная текстовая строка)
- Текстовая область (textares) (обычная текстовая область)
- Текстовый редактор (richtext) (текстовая область с визуальным редактором)
- Устаревший список множественного выбора (legasy multiple list)
- Файл (область для вставки файла)
- Флажки (checkbox) — если флаг не отмечен, не отправляется никакого значения. Стоит учитывать это при продумывании архитектуры, иногда, это становится проблемой.
- Число (number)
- Электронная почта (email)
Значения полей
Чтобы добавить в дополнительное поле значение, достаточно просто написать его в поле “Default Value”.
Если значений несколько, варианты записываются с разделителем: Значение1||Значение2||Значение3
Если надо задать определенный символьный код, возможна такая запись: Значение1==cod1||Значение2=cod2||Значение3==cod3
Проще говоря, формат записи таков DISPLAY VALUE==VALUE
- DISPLAY VALUE — Значение отображаемое на странице ресурса;
- VALUE — Значение которое будет записано в базе.
Варианты по умолчанию
Запись параметров по умолчанию зависит от типа поля.
- Checkbox: наличие галки — cod1 (символьный код поля), отсутствие галки — ничего. Если значений несколько, варианты записываются через запятую — cod1, cod3;
Варианты привязок для полей с возможностью привязки (@binding)
При использовании дополнительных полей можно использовать привязки.
@CHUNK chunkName | список из чанка с указанным именем |
@RESOURCE id | список из ресурса с указанным id |
@DIRECTORY ./ | список файлов из указанной директории |
@FILE ../assets/test.txt | список из файла |
@SELECT pagetitle, id FROM [[+PREFIX]]site_content WHERE isfolder==0 | получение значений из базы данных |
@EVAL return $modx->runSnippet('snippetName') | получение списка посредством выполнения PHP кода. |
Примеры вывода дополнительных полей
С помощью phx
Если у поля одно значение
[[*tvName]]Если у поля множество значений
[[*tvName:contains=`value1`:then=``]]www.riwkus.pro
создание и использование дополнительных полей
Разберём и научимся использовать TV в MODX Revo.
TV - дополнительные поля, которые вы можете заполнять при создание нового ресурса. Эти поля позволяют фильтровать и выводить различные значения.
К примеру, вывести миниатюру изображения ресурса его родителю (рубрике), как в обычном блоге. Простой текст, который нужно выводить в определённое место, видеоролики, флешролики, простые метки и многое другое.
Пример работы, миниатюра статьи
Рассмотрим простое использование, создадим TV (миниатюру изображения) для ресурсов - статей, которые будет выводиться в рубрику.
1. Для начала создадим наше TV, для этого во вкладке «Элементы» создадим дополнительное поле.
2. На первой вкладке указываем имя, его мы будем использовать для вывода.
3. Далее заходим во вкладку «Параметры ввода» и здесь мы указываем в каком формате мы будем записывать наше tv. Выберем изображение, тем самым при создании, мы сможем через диспетчер файлов загружать и выбирать изображения.
4. Заходим в пункт «Параметры вывода», где мы будем выбирать, в каком формате будем выводить наше tv. Указываем текст и при выводе мы будем получать адрес на наше изображение, к примеру: images/img.jpg.
5. Заходим во вкладку «Доступно для шаблонов» и и выбираем шаблон для наших статей. Вы сможете писать tv во всех записях, у которых выбран данный шаблон.
6. Наше дополнительное поле создано, сохраняем его.
7. Заходим в редактирование нашего ресурса (шаблон которого мы указали выше) и переходим в новую вкладку «Дополнительные поля», где у нас появляется наше поле.
Нажмите на кнопку внутри дополнительного поля и откроется диспетчер файлов, загружаем или выбираем наше изображение.
8. Сохраняем запись, теперь мы сможем вывести наше изображение, как в самой статье, так и в рубрике.
9. Чтобы вывести в самой статье, заходим в шаблон статей и в нужном месте вызываем миниатюру:
<img src="[[*image]]" alt=""/>Теперь в каждой статье будет выводиться изображение, где заполнено дополнительное поле.
Также прошу рассмотреть следующий вариант вызова
Лучше использовать такую запись. Она гласит - если дополнительное поле не заполнено, то мы ничего не выводим. Если использовать первый вариант, то во всех статьях, где не заполнено поле, будет выводится изображения без адреса.
10. Теперь выведем наше tv в родителе (рубрике), для этого заходим в его шаблон и вызываем наши рубрики с дополнительными полями:
[[!pdoResources? &limit=`10` &parents=`[[*id]]` &tpl=`blog` &includeTVs=`image`]]Вывели мы через PdoResurses, кто не знает, как с ним работать, читайте тут.
Главное подключить наше tv, за это отвечает - &includeTVs, где мы пишем имя нашего поля.
Теперь в чанке оформления blog, мы вызываем наше поле:
[[+introtext]]
Читать далееВот так просто и работать с дополнительными полями в modx, все они работают по аналогии с этим примером.
daruse.ru
Дополнительные поля MODX Revolution
Дополнительные поля
Дополнительные поля (Template Variable, коротко TV) употребляются для расширения атрибутов ресурса, которые доступны по умолчанию (к примеру, странички либо веб-ссылки). Обыкновенные ресурсы MODx располагают некоторой численностью установленных по умолчанию полей: заглавие (pagetitle), содержание (content), описание (description) и т.д. В случае если вам необходимо, вы можете прибавить определенные собственные поля к вашей страничке, к примеру, 2-ое поле содержания либо выпадающий список месяцев, либо другие иные пользовательские данные. Осуществляется данное путем прибавления добавочных полей к вашему шаблону. MODx дает возможность располагать фактически безграничной численностью дополнительных полей (TV). Для организации новейшего добавочного поля необходимо перейти по строчке «Дополнительные» на вкладке «Элементы» в окошке «Просмотр деревьев» (колонка с лева) и в выпадающем меню избрать пункт «Новое добавочное поле»:Дополнительные поля в панели управления отмечаются рисунком телевизора, попросту согласно аббревиатуры TV.