0

我想为<tr>主要类别的最后一个添加一个类。我不想将类名添加到每个<tr>. 我可以在脚本中更改什么?

像这样:

    <table>
    <tr>
    <th></th>
    </tr>
    <tr>
    <td></td>
    </tr>
    <tr class="test">
    <td></td>
    </tr>

<th></th>
<tr>
<td></td>
</tr>
<tr class="test">
    <td></td>
    </tr>
</table>


 <table class="data forum">   

        <? foreach ($this->mainCategories as $mainCategory): ?>
            <tr>
                <th><strong><?= $this->escape($mainCategory->fcName) ?></strong></th>
                <th>&nbsp;</th>
                <th><strong>Topics</strong></th>
                <th><strong>Laatste topic</strong></th>
             </tr>
             <? foreach ($mainCategory->getSubCategories() as $category): ?>

                <tr>
                    <td><a href="<?= $this->url(array('categoryid' =>  $this->escape($category->getID()), 'controller' => 'forum', 'action' => 'subcategory'), 'default', true) ?>"><?= $this->escape($category->getName()) ?></a></td>
                    <td><?= $this->escape($category->fcDescription) ?></td>
                    <? if ($this->escape($category->numTopics) > 0): ?>
                        <td><?= $this->escape($category->numTopics) ?></td>
                        <td><?= date_create($this->escape($category->last_topic))->format('d-m-Y H:i') ?></td>
                    <? else: ?>
                        <td>&nbsp;</td>
                        <td>&nbsp;</td>
                    <? endif ?>
                </tr>
             <? endforeach ?>
            <tr>
                <td class="split"></td>
            </tr>

         <? endforeach ?>

 </table>
4

1 回答 1

1

抓住count你的$this->mainCategories变量并根据计数器变量测试最后一个......

$count = count($this->mainCategories;
$current = 0;

<?
    foreach ($this->mainCategories as $mainCategory):
        $current++;
?>
    <tr<?= $current == $count?' class="someClass"':''?>>

更新:

让我们看一个简化版本作为概念证明:

<?php
$mainCategories = array("Eins", "Zwei", "Drei");

$count = count($mainCategories);
$current = 0;

    foreach ($mainCategories as $mainCategory):
    $current++;
?>
    <tr<?= $current == $count?' class="someClass"':''?>>
        <td><?= $mainCategory ?></td>
    </tr>
<?php endforeach ?>

这会产生以下 HTML:

<tr>
    <td>Eins</td>
</tr>
<tr>
    <td>Zwei</td>
</tr>
<tr class="someClass">
   <td>Drei</td>
</tr>
于 2012-12-16T02:11:20.023 回答