Magento: блок xml удваивается - PullRequest
       25

Magento: блок xml удваивается

0 голосов
/ 13 декабря 2011

cms.xml имеет значение по умолчанию:

<default>
    <reference name="footer">
        <block type="cms/block" name="cms_footer_links" before="footer_links">
             <action method="setBlockId"><block_id>footer_links</block_id></action>
         </block>
     </reference>
</default>

Мой local.xml имеет следующий контент:

<default>
     <reference name="footer">
             <remove name="store_switcher" />
             <remove name="footer_links" />

             <block type="page/html_wrapper" name="footer.links.wrapper" translate="label" before="-">
                <label>Footer Links Wrapper</label>
                <action method="setElementClass"><value>bottomLinks</value></action>

                <block type="cms/block" name="cms_footer_links">
                    <action method="setBlockId"><block_id>footer_links</block_id></action>
                </block>
             </block>

      </reference>
</default>

Но в этом случае я получаю двойной блок footer_links. Первый находится в статическом блоке страницы, а другой - в div.bottomLinks.

Как это исправить? Как показать только один обернутый блок без редактирования cms.xml?

Ответы [ 2 ]

0 голосов
/ 13 декабря 2011

Попробуйте это в локальном xml

<default>
....
</default>

<cms_index_index>
    <reference name="footer">
        <remove name="cms_footer_links" />
    </reference name>
</cms_index_index>

И в

<block type="cms/block" name="cms_footer_links">

Вы должны изменить имя на что-то вроде "cms_footer_another_links".

Что ж, надеюсь, я получилВаш вопрос прав.

ОБНОВЛЕНИЕ 1

Раздел по умолчанию загружается везде.Так что, если я правильно понял, вам нужен только один экземпляр блока.

Попробуйте следующее (local.xml):

<default>

    <reference name="footer">
        <action method="unsetChild"><name>cms_footer_links</name></action>

         <block type="page/html_wrapper" name="footer.links.wrapper" translate="label" before="-">
            <label>Footer Links Wrapper</label>
            <action method="setElementClass"><value>bottomLinks</value></action>

            <block type="cms/block" name="cms_footer_links"/>
         </block>
</default>

ИЛИ

<default>

    <reference name="footer">
        <remove name="cms_footer_links" />



         <block type="page/html_wrapper" name="footer.links.wrapper" translate="label" before="-">
            <label>Footer Links Wrapper</label>
            <action method="setElementClass"><value>bottomLinks</value></action>
            <block type="cms/block" name="cms_another_footer_links">
                <action method="setBlockId"><block_id>footer_links</block_id></action>
            </block>
         </block>
   </reference>
</default>
0 голосов
/ 13 декабря 2011

Ваш тег удаления содержит неправильное имя блока.Это должно быть <remove name="cms_footer_links" /> вместо <remove name="footer_links" />.

...