Masalahnya adalah desain rwd baru memiliki dua blok anak untuk daftar produk:
<block type="core/text_list" name="product_list.name.after" as="name.after" />
<block type="core/text_list" name="product_list.after" as="after" />
Dan dalam template itu sendiri tidak ada pemeriksaan untuk melihat apakah ini ada sebelum mereka dicoba untuk dimuat dan digunakan.
Perbaikan cepat adalah dengan menggunakan templat yang berbeda yang merupakan salinan templat utama tetapi dengan suntingan berikut:
<?php
$_nameAfter = $this->getChild('name.after');
// New if here
if($_nameAfter):
$_nameAfterChildren = $_nameAfter->getSortedChildren();
foreach($_nameAfterChildren as $_nameAfterChildName):
$_nameAfterChild = $this->getChild('name.after')->getChild($_nameAfterChildName);
$_nameAfterChild->setProduct($_product);
?>
<?php echo $_nameAfterChild->toHtml(); ?>
<?php endforeach; ?>
<?php endif; ?>
<?php
//set product collection on after blocks
$_afterChildren = $this->getChild('after');
if ($_afterChildren):
$_afterChildren = $this->getChild('after')->getSortedChildren();
foreach($_afterChildren as $_afterChildName):
$_afterChild = $this->getChild('after')->getChild($_afterChildName);
$_afterChild->setProductCollection($_productCollection);
?>
<?php echo $_afterChild->toHtml(); ?>
<?php endforeach; ?>
<?php endif; ?>
The name.after
terjadi dua kali dalam template tapi after
muncul hanya satu. Satu hal terakhir yang perlu diperhatikan adalah bahwa rwd css default menyembunyikan bagian tindakan dari daftar produk pada halaman cms.