1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - новый и перспективный форумный движок от бывших создателей vBulletin.

Получить только нечётные записи из массива

Тема в разделе "Вопросы и ответы по XenForo Framework", создана пользователем CyberAP, 26 янв 2011.

Загрузка
  1. CyberAP

    CyberAP Местный

    Регистрация:
    05.10.10
    Сообщения:
    2.558
    Симпатии:
    1.590
    Версия XF:
    1.5.9
    Есть ли возможность в конструкции <xen:foreach> задать такой параметр, который бы ставил условие - выводить только чётные записи в массиве?
     
  2. CyberAP

    CyberAP Местный

    Регистрация:
    05.10.10
    Сообщения:
    2.558
    Симпатии:
    1.590
    Версия XF:
    1.5.9
    Сойдёт даже решение через <xen:if>
    Пытаюсь сделать вот так: <xen:if preg_match('^\d*[13579]$', {$something.thread_id})>
    Но шаблон сохранить не получается. В чём ошибка? (мне как не программисту это немного трудно понять)
     
  3. FractalizeR

    FractalizeR XenForo Addicted Команда форума

    Регистрация:
    27.09.10
    Сообщения:
    1.085
    Симпатии:
    822
    Версия XF:
    1.3.2
    preg_match не является ключевым словом XenForo а потому, выполняться не будет. Думаю, такую проверку на языке шаблонов реализовать не удасться.
     
  4. Pepelac

    Pepelac Продам луц в бутылках Команда форума

    Регистрация:
    28.09.10
    Сообщения:
    1.794
    Симпатии:
    1.348
    Можно и на языке шаблонов ;)
    Разберетесь исходя из этого (выводит четные записи)?
    Код:
    <xen:set var="$jj">1</xen:set>
    <xen:foreach loop="$threads" i="{$jj}" value="$thread">
        <xen:if is="{$jj} % 2 == 0">
        <xen:include template="thread_list_item" />
        </xen:if>
    </xen:foreach>
     
    Romchik®, CyberAP, FractalizeR и ещё 1-му нравится это.
  5. CyberAP

    CyberAP Местный

    Регистрация:
    05.10.10
    Сообщения:
    2.558
    Симпатии:
    1.590
    Версия XF:
    1.5.9
    На основе этого кода я сделал разъединение контента на два блока:
    PHP:
    <xen:set var="$counter">1</xen:set>
        <
    xen:foreach loop="$threadsvalue="$threadi="{$counter}">
            <
    article class="{xen:if '{$counter} % 2 == 0', 'left', 'right'}">
     
    Pepelac нравится это.

Поделиться этой страницей