2

エントリの行の値に基づいて行の色を変更するテーブルを作成するコードがあります。

<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>

問題は、エントリを削除すると、2つの奇数または2つの偶数が連続して表示され、同じ色の2つの行が並んでいることです。

スイッチ機能は便利ですが、データベース内の行数を参照しています。私の問題を解決する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">

しかし、EEインストールでPHPをオンにすることは許可されていません。

EEでできるようなことはありますか?

ありがとう!

4

2 に答える 2

5

スイッチタグを探しています。

{switch = "odd |even"}

しかし、あなたはすでにそれを知っているようです。!='y'に変数team-not-with-usが必要なようです。結果が返された後に検証を行うため、複数の奇数行または偶数行が隣り合って終了します。これを回避する簡単な方法は、channel:entriessearchparamを使用することです。例: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>
于 2013-03-20T12:03:46.800 に答える
1

https://expressionengine.stackexchange.com/でEEのぞき見を聞いてみるとよいでしょう。{count}タグが機能するはずです。これは、(あなたの場合)チームチャネルにあり、「team-not-with-us」フィールドグループのYではないすべてのエントリをカウントするだけです。これはスイッチまたは選択ボックスなどであると想定しています。

出力されたコードはどのように見えますか?

于 2013-03-19T21:21:18.127 に答える