0

ループして結果を取得するニュース項目パラメーターの配列を取得しました

foreach を実行する前に、特定のアイテムの配列をループする方法はありますか?

foreach の前に取得された特定のカテゴリの投稿のみをループしたい

$get_cats  = $k2tools_params->get('cloud_category'); 

許可されたカテゴリの配列を返します

私が持っているよりも

       <?php foreach($this->items as $key=> $item): >
          <?php if (in_array($item->category->id,$get_cats)){ ?> 
              // do something 
          <?php} ?>

        <?php endforeach ?>
<?php echo $this->pagination->getPagesLinks(); ?>

これは正常に動作しますが、私が抱えている問題は、18 アイテムをカウントするページネーションです。$this->items

結果のページは 3 ページありますが、 foreach ではカテゴリの制限により、アイテムが 2 つしかないため、さらに 2 つの空のページが発生しています。

したがって、 foreach の前にカテゴリを制限するか、$this->items最初にトラフをループする必要があります

thnx 、ご理解いただければ幸いです。

html と php を分離する php タグは気にしないでください。これは joomla のテンプレートです。

私がやりたいのは、カテゴリIDが配列にあるforeachです。

4

2 に答える 2

2

ページ付けでそれを適切に行うには、元のSQLクエリを変更する方法を見つける必要があります。

于 2012-07-18T01:29:05.730 に答える
0
foreach(array_keys($items, $get_cats)) {
    // do_something
}

または使用してみてくださいarray_search

于 2012-07-18T01:21:41.060 に答える