2011-11-02 19 views
7

Próbuję utworzyć blok produktów na stronie głównej, gdzie w I skopiowane do folderu page.xml układu moim tematem i zmodyfikowanej go jakOtrzymuję blok dwukrotnie w Magento?

<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> 

Tutaj spodziewałem jeden jeden blok w środku mojej stronie głównej i otrzymuję to, ale oprócz tego otrzymuję jeszcze jeden blok (taki sam jak ten blok sweet.phtml) na dole strony głównej .. pod linkiem stopki. Czy ktoś może mi powiedzieć, jaki jest problem.

+0

Czy próbujesz zastąpić blok o nazwie 'mycategories' swoim? – Zyava

Odpowiedz

12

Twój blok został oznaczony jako blok wyjściowy. Kiedy widok jest renderowany za pomocą renderView() w akcji kontrolera, twój blok jest zarówno dzieckiem bloku, który odbija jego potomka (blok 0123), jak i jest blokiem wyjściowym, który zostanie zrenderowany na swoim własnym poziomie. .

Usuń bit output="toHtml", a otrzymasz to, czego potrzebujesz. Nawiasem mówiąc, możesz/powinnaś przenieść tę zmianę z niestandardowego pliku page.xml do pliku local.xml w swoim układzie - musi ona znajdować się tylko wewnątrz rączki aktualizacji układu strony <page_two_columns_left />.

+0

Świetnie I dziękuję ... Skopiowałem plik page.xml do mojego folderu i jest już pojechany. wprowadzam tylko zmiany. Czy to nie w porządku? – ScoRpion

+0

Cóż, zakłóca to ścieżkę aktualizacji. Najlepiej, gdyby tego rodzaju zmianę wprowadzono w pliku local.xml w folderze układu kompozycji, a pozostawienie pliku page.xml tam, gdzie jest. Twój local.xml będzie więc zawierał <.../> – benmarks