Я получаю блок дважды в Magento? - PullRequest
7 голосов
/ 02 ноября 2011

Я пытаюсь создать блок продукта на домашней странице, где я скопировал файл page.xml в папку макета моей темы и изменил его как

<page_two_columns_left translate="label">
<label>All Two-Column Layout Pages (Left Column)</label>
<reference name="root">
    <action method="setTemplate"><template>page/2columns-left.phtml</template></action>
    <!-- Mark root page block that template is applied -->
    <action method="setIsHandle"><applied>1</applied></action>
</reference>
<reference name="content">
   <block type="core/template" name="mycategories" output="toHtml" template="sweet/sweet.phtml"/>
 </reference>

Здесь я ожидал один блок в середине моей домашней страницы, и я получаю это, но в дополнение к этому я получаю еще один блок (такой же, как этот блок sweet.phtml) внизу домашней страницы .. под ссылкой нижнего колонтитула. Может кто-нибудь сказать мне, в чем проблема.

1 Ответ

12 голосов
/ 03 ноября 2011

Вы пометили свой блок как выходной блок.Когда представление отображается с помощью renderView() в действии контроллера, ваш блок является дочерним по отношению к блоку, который отражает его дочерние элементы ( content является блоком core/text_list), а также является выходным блокомкоторый будет отображен сам по себе.

Удалите бит output="toHtml", и вы получите то, что вам нужно.Кстати, вы можете / должны переместить это изменение из пользовательского файла page.xml в файл local.xml в макете - он должен быть только внутри <page_two_columns_left /> дескриптора обновления макета.

...