SEO-форум о поисковых системах
Вы не вошли.
Этот плагин позволяет вам использовать списки, как если бы вы были массивами:
прямой доступ к отдельным элементам
двигаться вперед и назад по списку
повторить список до бесконечности
В чем разница между adi_list и smd_each или rah_repeat?
И smd_each, и rah_repeat управляют циклом итерации по списку. adi_list этого не делает - он предназначен для использования в сочетании с каким-либо другим циклическим процессом, например <txp:article>, и вы перемещаетесь по списку вручную.
adi_list также может продлить «жизнь» списка, повторяя его, предоставляя значение по умолчанию или переходя назад и вперед по желанию.
Посмотрите на примеры, чтобы увидеть, что возможно.
Сводка использования
Чтобы создать список, adi_list может использоваться как одиночный тег или тег контейнера:
<txp:adi_list name="mylist" value="a,b,c" />
<txp:adi_list name="mylist">a,b,c</txp:adi_list>
- они функционально эквивалентны и оба инициализируют список.
Чтобы получить доступ к элементам в списке или для перемещения по списку, используйте adi_list в качестве одного тега, например:
<txp:adi_list name="mylist" />
- возвращает весь список
<txp:adi_list_item name="mylist" />
- возвращает значение текущего элемента
<txp:adi_list_next name="mylist" />
- перемещает указатель вперед по списку
Теги
Настройка или отображение информации о списках:
adi_list
adi_list_count
adi_list_default
Получение значений элемента списка:
adi_list_item
adi_list_first
adi_list_last
Перемещение по спискам:
adi_list_next
adi_list_prev
adi_list_reset
adi_list_end
Настройка списка
Используйте для этого тег adi_list .
Атрибуты:
name="list name"
- название списка. Этот атрибут является обязательным.
Задайте в списке некоторые значения, используя одно из следующих (или используйте его в качестве тега контейнера):
value="list items"
- содержание списка.
txpvar="TXP variable name"
- установить содержимое списка из переменной TXP .
field="value"
- установить содержимое списка из пользовательского поля статьи или поля изображения статьи.
separator="text"
- это разделяет различные элементы списка. По умолчанию = «,» (запятая).
default_separator="text"
- используется для определения значения по умолчанию от других элементов в списке. По умолчанию = «|» (бар). Например: value="a,b,c|z"- это список «a, b, c» со значением по умолчанию «z».
Примеры:
<txp:adi_list name="mylist" value="a,b,c" />
- простой список настройки
<txp:adi_list name="mylist" txpvar="myvar" />
- получить список из ранее назначенной переменной TXP
Доступ к элементам в списке
Вы можете получить доступ к элементам итеративно:
- при настройке списка указатель будет указывать на первый элемент
- указатель можно затем перемещать по списку с помощью тегов adi_list
Или напрямую:
- получить доступ к элементу списка в соответствии с его индексом
- получить доступ к первому или последнему элементу
Чтобы получить текущее значение элемента в списке:
<txp:adi_list_item name="mylist" />
Чтобы получить конкретное значение элемента из списка, используя индекс:
<txp:adi_list_item name="mylist" index="1" />
- возвращает второй элемент ( индексы начинаются с нуля ), без перемещения указателя
Получить значение первого элемента:
<txp:adi_list_first name="mylist" />
- возвращает значение первого элемента без перемещения указателя
Получить последнее значение элемента:
<txp:adi_list_last name="mylist" />
- возвращает значение последнего элемента без перемещения указателя
Перемещение по списку
Переместить указатель списка вперед:
<txp:adi_list_next name="mylist" />
Переместить указатель списка назад:
<txp:adi_list_prev name="mylist" />
Переместите указатель списка в начало:
<txp:adi_list_reset name="mylist" />
Переместить указатель списка в конец:
<txp:adi_list_end name="mylist" />
Управление списком
Для повторения последовательности списка бесконечно используйте:
<txp:adi_list name="mylist" value="a,b,c" repeat="1" />
- список становится: «a, b, c, a, b, c, a, b, c, a, b, c…»
Вы можете установить значение по умолчанию как запасной вариант двумя способами, во-первых, используя атрибут:
<txp:adi_list name="mylist" value="a,b,c" default="z" />
- список становится: «a, b, c, z, z, z, z, z…»
и во-вторых, встраивая его в конец списка:
<txp:adi_list name="mylist">a,b,c|z</txp:adi_list>
- разделителем по умолчанию по умолчанию является «|» но может быть изменено с помощью атрибута default_separator.
Рандомизация списка:
[*]<txp:adi_list name="mylist" value="a,b,c,d,e" random="1" />[/*]
- список становится: «a, e, d, c, b» или «c, a, e, d, b» или «c, d, e, b, a»… и т. д. и т. д.
Чтобы получить оригинальный список:
<txp:adi_list name="mylist" />
Количество предметов в списке:
<txp:adi_list_count name="mylist" />
Значение по умолчанию для списка:
<txp:adi_list_default name="mylist" />
NB!
Индексы начинаются с нуля.
Если значение по умолчанию не задано, будет возвращено пустое значение, если вы упадете с любого конца списка или попытаетесь получить прямой доступ к элементу, которого там нет.
Чтобы перебрать список, вы должны сделать это явно, например <txp:adi_list_next name="mylist" />
Примеры
Как упоминалось ранее, adi_list не выполняет циклы . В следующем примере для этого используется тег статьи.
Доступ к простому повторяющемуся списку
Список создан:
<txp:adi_list name="mylist" value="red,green,blue" repeat="1" />
Используя список:
<txp:article>
<h2 class="<txp:adi_list_item name="mylist" />"><txp:title /></h2>
<txp:adi_list_next name="mylist" />
</txp:article>
Названия статей будут иметь классы «красный», «зеленый», «синий», «красный», «зеленый», «синий» и так далее.
В реальной жизни вы, вероятно, использовали бы CSS- селекторы для назначения классов, но это работает как иллюстрация.
Более вероятный сценарий, где adi_list приходит в своем собственном, когда вы имеете дело с непоследовательным списком и / или вы хотите вывести различное содержание или разметки в различных положениях.
Учтите следующее:
<txp:adi_list name="mylist" value="a,c,b,b,a,a,d" repeat="1" />
<txp:article>
<txp:adi_if_list name="mylist" value="a">
... tags for "a"
<txp:else />
<txp:adi_if_list name="mylist" value="b">
... tags for "b"
<txp:else />
... tags for others
</txp:adi_if_list>
</txp:adi_if_list>
<txp:adi_list_next name="mylist" />
</txp:article>
Здесь вы можете изменить то, что выводится на основе критериев, которые не зависят от содержимого.
Вне форума
[ Сгенерировано за 0.022 сек, 9 запросов выполнено - Использовано памяти: 623.89 Кбайт (Пик: 667.59 Кбайт) ]