Дополнительные поля MODX Revolution. Modx дополнительные поля


Дополнительные поля (TV)

Дополнительные поля (Template Variables) — элементы для расширения стандартных полей ресурса.

Вкладка «Параметры ввода»

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

Стандартные варианты параметров ввода: 

Значения полей

Чтобы добавить в дополнительное поле значение, достаточно просто написать его в поле “Default Value”.

Если значений несколько, варианты записываются с разделителем: Значение1||Значение2||Значение3

Если надо задать определенный символьный код, возможна такая запись: Значение1==cod1||Значение2=cod2||Значение3==cod3

Проще говоря, формат записи таков DISPLAY VALUE==VALUE

Варианты по умолчанию

Запись параметров по умолчанию зависит от типа поля.

Варианты привязок для полей с возможностью привязки (@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=""/>

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

Также прошу рассмотреть следующий вариант вызова

[[*image:notempty=``]]

Лучше использовать такую запись. Она гласит - если дополнительное поле не заполнено, то мы ничего не выводим. Если использовать первый вариант, то во всех статьях, где не заполнено поле, будет выводится изображения без адреса.

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.

Откуда появилось данное TV?

В английской версии MODx Revolution добавочные поля называются Template Variable, или же переменные шаблонов. Отчего при переводе интерфейса приняли решение именовать данный элемент дополнительным полем, я ответить не могу. Однако, сейчас вы знаете, откуда появилась аббревиатура TV — от Template Variable.В то время ресурс отражается в виде веб-странички, теги TV заменяются тем содержимым, каковое пользователь ввел в данное поле. Дополнительные поля считаются специфическими деталями для шаблонов, то есть имеют все шансы применяться лишь в шаблонах, в коих они определены.

Применение

Допустим, что мы организовали дополнительное поле с именем 'bio', которое представляет собой попросту кусочек текста. Мы связали его с шаблоном «Странички биографии» и желаем, чтобы данный кусок текста отражался на нашей страничке. Для того чтобы достичь данного, довольно расположить на нашей страничке тег:<code>[[*bio]]</code>Для того чтобы располагать возможностью применять дополнительное поле (TV) на вашей страничке, вы обязаны выбрать шаблоны, для которых доступно данное дополнительное поле, на вкладке «Доступно для шаблонов» (смотрите рис.): Дополнительные поля могут располагать параметрами. К примеру создётся дополнительное поле с названием 'intromsg' с таким содержанием:Hello [[+name]], you have [[+messageCount]] messagesУ вас есть возможность задать определенные значения параметрам таким вызовом:<code>[[*intromsg?name=`George` &messageCount=`123`]]</code>В итоге вывод примет такой вид:Hello George, you have 123 messages.Фильтры вывода являются отличным инструментом, который может использоваться и к дополнительным полям. К примеру, вы хотите обусловить вывод дополнительного поля 100-ей символов. У вас есть возможность попросту применить фильтр вывода 'limit' :<code>[[*bioMessage:limit=`100`]]</code>

www.modx.cc


Prostoy-Site | Все права защищены © 2018 | Карта сайта