multiTV

Опубликовано: 03 Авг 2014

MultiTV позволяет преобразовать переменную шаблона в список из нескольких элементов.

Установка

1. Скачать файлы по ссылке

2. Загрузите скаченные файлы в папку assets/tvs/multitv

3. Создайте новый TV-параметр с типом ввода custom input (если вы назовете этот параметр multidemo, он будет использовать конфигурационный файл assets/tvs/multitv/configs/multidemo.config.inc.php, для параметра с другим названием, не забудьте создать аналогичный конфигурационный файл)

3. В поле Возможные значения поместите следующий код:

@INCLUDE/assets/tvs/multitv/multitv.customtv.php

4. При обновлении с версии 1.4.10 и ниже вы можете установить сниппет updateTV для изменения данных в вашем multiTVs в новый формат. Это потребуется, если вы хотите добавить/удалить столбцы в multiTV.

Опции

Все опции задаются в конфигурационном файле в папке configs с тем же именем, что и переменная шаблона и с расширением .config.inc.php.

Свойства полей

Поле

Описание

Значение по умолчанию

caption

Заголовок (при horizontal) или лейбл (при vertical) для поля ввода

нет

type

Тип поля ввода (используются все типы ввода MODX кроме url и richtext, добавлен thumb для отображения эскизов изображений)

text

elements

Для ввода возможных значений переменной, например, для выпадающего списка всех дочерних документов корневой папки сайта: @SELECT `pagetitle`, `id` FROM `modx_site_content` WHERE parent = 0 ORDER BY `menuindex` ASC

нет

default

Значение по умолчанию. This value could contain calculated parts. Может содержать два плэйсхолдера: {i} - автоматически увеличивающийся индекс, {alias} - псевдоним редактируемого документа.

нет

thumbof

Название миниатюры изоображения

нет

width

Ширина поля ввода (только если тип отображения полей horizontal)

нет

Поддерживаемые типы полей: text, rawtext, email, number, textareamini, textarea, rawtextarea, htmlarea, date, dropdown, listbox, listbox-multiple, checkbox, option, image, file

Шаблоны для сниппета multiTV

Поле

Описание

Значение по умолчанию

rowTpl

Шаблон вывода строки. Может быть изменен в вызове сниппета

нет

outerTpl

Шаблон вывода внешнего блока. Может быть изменен в вызове сниппета

нет

 Конфигурации:

Поле

Описание

Значение по умолчанию

enablePaste

multiTV может содержать ссылку для вставки данных из таблицы

TRUE

enableClear

Ссылка на удаление всех элементов multiTV

TRUE

csvseparator

Разделитель столбцов

,

 Сниппет multiTV

Установка

Создайте новый сниппет multiTV со следующим кодом:

<?php

return include(MODX_BASE_PATH.'assets/tvs/multitv/multitv.snippet.php');

?>

Применение

Вставьте примерно такой вызов сниппета (параметры docid, display, rows, toPlaceholder и randomize при использовании стандартных значений могут быть удалены из вызова).

[!multiTV?
&tvName=`yourMultiTVname`
&docid=`[*id*]`
&tplConfig=``
&outerTpl=`@CODE:<ul>((wrapper))</ul>`
&rowTpl=`@CODE:<li>((event)), ((location)), ((price))</li>`
&display=`5`
&rows=`all`
&toPlaceholder=``
&randomize=`0`
&orderBy=``
&published=`1`
&emptyOutput=`1`
&emptyOutput=`1`
&outputSeparator=``
!]

Параметры

Параметр

Описание

Значение по умолчанию

tvName

Имя TV-параметра, который содержит multiTV (имена полей multiTV будут получены из конфигурационного файла)

нет

docid

Id документа, содержащего multiTV

id текущего документа

tplConfig

Ключ массива в конфигурационном файле, который содержит конфигурацию шаблона вывода (будет с префиксом шаблона)

''

offset

Количество первых строк, которые необходимо пропустить

0

outerTpl

Шаблон внешнего блока: имя чанка, имя файла (должно начинаться с @FILE) или код (должно начинаться с @CODE - плэйсхолдеры должны быть в двойных скобках (( и )).

@CODE:<select name="$tvName">[+wrapper+]</select> или шаблон в конфигурационном файле

rowTpl

Шаблон вывода строки: имя чанка, имя файла (должно начинаться с @FILE) или код (должно начинаться с @CODE - плэйсхолдеры должны быть в двойных скобках (( и )).

@CODE:<option value="[+value+]">[+key+]</option> или шаблон в конфигурационном файле

display

Количество отображаемыз строк, all - показать все

5

rows

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

all

toPlaceholder

Вывод плейсхолдера присваивается качестве переменной шаблона (т.е. [+element+]), отдельные элементы присваиваются плейсхолдеры названные в качестве переменной шаблона с последующим номером строки (т.е. [+element.1+]). Нормальный выход фрагмент подавляется.

нет

randomize

Случайный порядок вывода строк

0

orderBy

Имя столбца и порядок направления (направление по умолчанию по возрастанию - asc) для сортировки вывода

нет

published

Отображать только multiTV из опубликованных (1), неопубликованных (0) или любых (2) документов

1

emptyOutput

Вернуть пустую строку, если multiTV пуста, иначе возвращает внешний шаблон

1

outputSeparator

Вернуть пустую строку, если multiTV пуста, иначе возвращает внешний шаблон

пусто

По умолчанию шаблоны для внешнего блока и строки могут быть определены в файле конфигурации. Эти шаблоны могут быть перезаписаны параметрами rowTpl и outerTpl в вызове сниппета.

 Плэйсхолдеры rowTpl

Имя

Описание

fieldname

Может быть использовано каждое поле, определенное в конфигурации

iteration

Содержит номер текущего элемента multiTV

row.number

Содержит номер строки текущего элемента multiTV

row.class

'first' - для первой отображенной строки, 'last' - для последней отображенной строки

row.total

Содержит количество всех отображаемых строк

docid

Значение параметра docid или id текущего документа

 

 Плэйсхолдеры outerTpl

Имя

Описание

wrapper

Место вывода всех строк

rows.offset

Содержит количество строк от начала, которые не отображаются

rows.total

Содержит количество всех отображаемых строк

docid

Значение параметра docid или id текущего документа

Комментарии (0)


Оставить комментарий




Разрешённые теги: <b><i><br>Добавить новый комментарий: