Я не совсем понял, что вы пытаетесь сделать, но я знаю, почему вы получаете свои ошибки. Вы создаете блок с псевдонимом класса / class
catalog/product_view
Mage_Catalog_Block_Product_View
но вы устанавливаете шаблон этого блока как
catalog/product/list/related.phtml
Шаблон catalog/product/list/related.phtml
был создан для использования с catalog/product_list_related
Block only , а не с catalog/product_view
Block.
Если вы посмотрите на определение класса для catalog/product_list_related
блока (то есть Mage_Catalog_Block_Product_List_Related
), вы увидите, что есть метод getItems()
.
public function getItems()
{
return $this->_itemCollection;
}
, который возвращает коллекцию. Коллекция устанавливается в методе _prepareData
protected function _prepareData()
{
$product = Mage::registry('product');
/* @var $product Mage_Catalog_Model_Product */
$this->_itemCollection = $product->getRelatedProductCollection()
...
Эта коллекция никогда не устанавливается с блоком catalog/product_view
, поэтому вы получаете свои ошибки.
В приведенном выше коде, если вы переключитесь на создание блока catalog/product_list_related
, ваши ошибки должны исчезнуть.