2012-01-19 5 views
0

私は各LI foreachに別のクラスを与えようとしています。各LIへの代替クラスforeach

すなわち

<li class="odd"> 
text 
</li> 
<li class="even"> 
text 
</li> 
<li class="odd"> 
text 
</li> 
<li class="even"> 
text 
</li> 

これは私のコードです:

<?php $count = 0; // need to set first value 
<?php foreach ($this->item->extra_fields as $key=>$extraField): ?> 
    <?php if($extraField->value): ?> 
     <li class="<?php echo (++$count % 2) ? "odd" : "even"; ?> type <?php echo ucfirst($extraField->type); ?> group<?php echo $extraField->group; ?>"> 
     Text here 
     </li> 
    <?php endif; ?> 
<?php endforeach; ?> 

<ul> 
<?php foreach ($this->item->extra_fields as $key=>$extraField): ?> 
<?php if($extraField->value): ?> 
    <li class="<?php echo ($key%2) ? "odd" : "even"; ?> type<?php echo ucfirst($extraField->type); ?> group<?php echo $extraField->group; ?>"> 
Text here 
    </li> 
<?php endif; ?> 
<?php endforeach; ?> 
</ul> 

誰が... おかげ

+3

_tabular_ dataの表を使用しても問題ありません。 –

+1

あなたの質問は何ですか? – amd

+0

それは動作していません..? –

答えて

4

試みを助けることができるしてください

+0

コードが機能している間に+ 1が得られますが、必要以上に複雑/混乱します。私は0で '$ count'を初期化し、条件を'(++ $ count%2) 'に変更します。 – DaveRandom

+0

@DaveRandomは理解し更新しました:-)ありがとう – ManseUK

+0

返信ありがとう... 次のエラーが発生しました: 警告:無効な引数が/home/skiplan/public_html/modules/mod_k2bnr_content/tmpl/Default/default.phpのforeach()にあります。 – user991830

2

私はそれを行うだろう。それは鍵とは独立しているので、あなたはより良いクラスがどのように見えるかを見てください。

<ul> 
<?php 
    foreach ($this->item->extra_fields as $key=>$extraField) { 
     if($extraField->value) { 
      $toggle = ($toggle=="odd"?"even":"odd"); 
      echo '<li class="',$toggle,' type',ucfirst($extraField->type),' group', $extraField->group,'">'; 
      echo 'Text here'; 
      echo '</li>'; 
     } 
    } 
    ?> 
</ul> 
1

jQueryはこれがオプションであれば簡単に行うことができます。 :odd:evenセレクタは、あまりにも多くの手間をかけずに、探しているものだけを実行する必要があります。

関連する問題