Цвета чередующихся строк в таблице ExpressionEngine
У меня есть код, который создает таблицу, которая чередует цвета строк на основе значения строки в записи.
<table class="authorList" cellspacing="0">
{exp:channel:entries channel="team" disable="categories|member_data|pagination" orderby="team-last-name" sort="asc"}
{if team-not-with-us != 'y'}
<tr class="{switch="odd|even"} authorInfo">
<th class="authorName">
{if team-bio != ''}<a href="{site_url}about/the-team/{url_title}">{/if}
{title}
{if team-bio != ''}</a>{/if}
</th>
<td class="position">{team-position}</td>
</tr>
{/if}
{/exp:channel:entries}
</table>
Проблема в том, что, когда я удаляю запись, я получаю два нечетных или два четных числа в ряду, оставляя меня рядом с двумя одинаковыми по цвету рядами.
Хотя функция переключения удобна, она ссылается на количество строк в базе данных. Я не верю, что смогу применить его для ссылки на фактическое количество строк в операторе if, который решит мою проблему. (Поправьте меня если я ошибаюсь.)
Я знаю, как сделать это изменение с php:
<?php $oddevenrow = 0; ?>
{if team-not-with-us != 'y'}
<?php $oddevenrow++; ?>
<?php ($oddeven = ($oddevenrow % 2 ? 'odd' : 'even')); ?>
<tr class="<?php echo $oddeven; ?> authorInfo">
Но я не могу включить PHP при установке EE.
Есть ли что-то подобное, что я могу сделать в EE?
Спасибо!
2 ответа
Вы ищете метку переключателя.
{Переключатель ="нечетный | даже"}
Но, похоже, ты уже знал это. Похоже, вам требуется переменная team-not-with-us для!= 'Y'. Поскольку вы выполняете эту проверку после того, как результаты будут возвращены, вы закончите с несколькими нечетными или четными строками рядом друг с другом. Самый простой способ избежать этого - использовать канал: записи поиска param. Пример: search:team-not-with-us="not y"
<table class="authorList" cellspacing="0">
{exp:channel:entries
channel="team"
disable="categories|member_data|pagination"
orderby="team-last-name"
sort="asc"
search:team-not-with-us="not y"
}
<tr class="{switch="odd|even"} authorInfo">
<th class="authorName">
{if team-bio != ''}<a href="{site_url}about/the-team/{url_title}">{/if}
{title}
{if team-bio != ''}</a>{/if}
</th>
<td class="position">{team-position}</td>
</tr>
{/exp:channel:entries}
</table>
Возможно, вы захотите задать вопрос о взглядах на EE по адресу https://expressionengine.stackexchange.com/. Тег {count} должен работать. Это просто подсчитывает каждую запись, которая (в вашем случае) находится в Командном канале и не является Y в вашей группе полей "команда-не-с-нами", которая, как я предполагаю, является переключателем, блоком выбора или чем-то еще.
Как выглядит ваш выведенный код?