#1 2020-04-19 16:48:25

SEO Women Power
Администратор
Здесь с 2020-02-15
Сообщений: 0
Windows 7Chrome 79.0

adi_list - использование списков как массивов

Этот плагин позволяет вам использовать списки, как если бы вы были массивами:

  • прямой доступ к отдельным элементам

  • двигаться вперед и назад по списку

  • повторить список до бесконечности

В чем разница между 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, гостей: 1
[Bot] CCBot

Подвал форума

Под управлением FluxBB
Модифицировал Visman

[ Сгенерировано за 0.013 сек, 7 запросов выполнено - Использовано памяти: 624.05 Кбайт (Пик: 667.75 Кбайт) ]