Magento: добавить блок с дочерними блоками в cms_index_index

Может быть, я поступаю неправильно, но я новичок в Magento и не знаю ничего лучше. Я пытаюсь добавить блок на мою первую страницу, который я считаю cms_index_index (это правильно?). Это работает:

<cms_index_index>
<reference name="content">
<block type="core/template" name="start_recs" as="start_recs" template="path/to/recommendations.phtml"></block>
</reference>
</cms_index_index>

Но в моих рекомендациях. Phtml я хочу сослаться на другой блок, addtocart_special.phtml. Я делал это в других блоках каталога, и это работало нормально, но почему-то я не могу сделать это в cms_index_index. Я попробовал вот что:

<cms_index_index>
<reference name="content">
<block type="core/template" name="start_recs" as="start_recs" template="path/to/recommendations.phtml">
<action method="setBlockId"><block_id>start-recs</block_id></action>
<block type="core/template" name="addtocart_special" as="addtocart_special" template="catalog/product/view/addtocart_special.phtml">
</block>
</block>
</reference>
</cms_index_index>

А в файле examples.phtml я вызываю addtocart_special следующим образом:

$this->getChild('addtocart_special')->setData('product', $_product);
echo $this->getChildHtml('addtocart_special', false);

Но это приводит к следующей ошибке:

Fatal error: Call to a member function setData() on a non-object in /home/www/project/path/to/recommendations.phtml on line 125

Я просто не понимаю почему. Почему getChild (‘addtocart_special’) не является объектом? Что мне не хватает?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector