私はオブジェクトとしてオブジェクトを持つ配列を持っています。各オブジェクトにはkey = category_titleが含まれていますPHPでforeachループを再起動
設定可能な列を持つブートストラップ行に製品を生成するforeachループがあります。私のケースでは$col=3
です。
私が必要とするのは、新しいcategory_titleが現れた場合に新しい行を作成することです。
category_titles
をすべて入れて、新しいカテゴリの場合は変数を作成するための配列を作成しました。しかし今、私は立ち往生しています。
<?php foreach($productspercat as $product): ?>
<!-- Make sure product is enabled and visible @front end -->
<?php // if($product->enabled && $product->visibility):?>
<?php
$catnew = false;
$categorytitle = $product->category_title;
if(!in_array($categorytitle, $totalcategories, true)):?>
<?php array_push($totalcategories,$categorytitle);
$catnew=true;
?>
<?php endif;?>
<div class="j2store-products-row <?php echo 'row-'.$row; ?> row">
<?php endif;?>
<div class="col-sm-<?php echo round((12/$col));?>">
<h2><?php echo $categorytitle; ;
var_dump($catnew);
?></h2>
test
</div>
<?php $counter++;
$firstrun = true; ?>
<?php if (($rowcount == $col) or ($counter == $total)) : ?>
</div>
<?php endif; ?>
<?php // endif; ?>
<?php endforeach;?>
新しいカテゴリがアップするのであれば基本的に、それは行を閉じ、新しい列数と新鮮な行を開始する必要があります:
foreachのは、次のようになります。
ありがとうございます!
簡単: 'foreach()'を使用しないでください。これは再起動するようには設計されていませんが、通常の 'for'ループでは何でもできます。 – Havenard