0

返されたサブカテゴリのリストがあります。テンプレートの表示にしかアクセスできず、MySQL クエリにはアクセスできないので、クエリを制限することはできません。

現在、すべての結果が返されています。リストを 5 つに制限し、結果が 5 つを超える場合は「詳細」リンクを追加したいと思います。

私はこれが間違っていたことを知っていcountますforeach.

<ul class="sub-categories">
    <?php
    while (count($category->getChildren()) <= 5) { // line I added for while loop
        foreach ($category->getChildren() as $child) {
            if (!$child->totalItemCount())
                continue;

            $link = $this->app->route->category($child);
            $item_count = ($this->params->get('template.show_sub_categories_item_count')) ? ' <span>('.$child->totalItemCount().')</span>' : '';
                echo '<li><a href="'.$link.'" title="'.$child->name.'">'.$child->name.'</a>'.$item_count.'</li>';
        }
    } // line I added for while loop
    ?>
</ul>
4

1 に答える 1

1

foreach制限内でbreak;、制限に達したときに追跡します。

<ul class="sub-categories">
    <?php
        $i = 0;
        foreach ($category->getChildren() as $child) {
            if (!$child->totalItemCount()) continue;
            $i++; if($i>5) break;
            $link = $this->app->route->category($child);
            $item_count = ($this->params->get('template.show_sub_categories_item_count')) ? ' <span>('.$child->totalItemCount().')</span>' : '';
            echo '<li><a href="'.$link.'" title="'.$child->name.'">'.$child->name.'</a>'.$item_count.'</li>';
        }
    ?>
</ul>
于 2012-07-19T17:08:28.467 に答える