I have built a subcategory widget, which pulls all subcategories from a parent cat ID and displays them as list items. I only want to display 10 list items and beyond that, display a “view all” link that links back to the parent cat ID. How can I accomplish this using my front end code below?
JavaScript
x
foreach ($subCats as $subcat) {
$_category = $objectManager->create('MagentoCatalogModelCategory')->load($subcat->getId());
$subcaturl = $subcat->getUrl();
} ?>
<li class="cat-li" style="list-style-type: none;">
<div class="product-item-info">
<div class="product-item-details">
<ul class="productsub-categories" style="text-align: left;">
<a href="<?php echo $subcaturl; ?>">
<strong ><?php echo $subcat->getName(); ?></strong>
</a>
</ul>
</div>
</div>
</li>
Advertisement
Answer
First, your HTML is not in the loop. Second, just increment a counter and check for 10 and break
:
JavaScript
$i = 0;
foreach ($subCats as $subcat) {
if($i == 10) { break; } $i++;
$_category = $objectManager->create('MagentoCatalogModelCategory')->load($subcat->getId());
$subcaturl = $subcat->getUrl();
?>
<li class="cat-li" style="list-style-type: none;">
<div class="product-item-info">
<div class="product-item-details">
<ul class="productsub-categories" style="text-align: left;">
<a href="<?php echo $subcaturl; ?>">
<strong ><?php echo $subcat->getName(); ?></strong>
</a>
</ul>
</div>
</div>
</li>
<?php }
echo "Your view all link";