Magento Block Positioning никогда не работает - PullRequest
1 голос
/ 03 марта 2011

Здравствуйте. У меня всегда возникают проблемы с позиционными блоками.

Пожалуйста, посетите веб-сайт, над которым я работаю: http://www.hemptationz.com

Я хочу, чтобы блоки на левой боковой панели отображались в этом порядке:

Блок Facebook (callouts / facebook.pthml) Блок валюты (directory / currency.phtml) Категории продуктов Блок (vertnav / left.phtml) Блок информационных ссылок (callouts / left_col.phtml)

Вот код, который у меня есть в файлах макета XML:

Catalog.xml

<reference name="left">
  <block type="core/template" name="facebook" template="callouts/facebook.phtml" after="currency" />
  <block type="core/template" name="left.permanent.callout" template="callouts/left_col.phtml" after="catalog.vertnav" />
</reference>

vertnav.xml

<reference name="left">
  <block type="vertnav/navigation" name="catalog.vertnav" template="vertnav/left.phtml" before="left.permanent.callout" />
</reference>

directory.xml

<layout version="0.1.0">

<!--
Category default layout
-->
    <default>
        <reference name="head">
            <block type="core/template" name="optional_zip_countries" as="optional_zip_countries" template="directory/js/optional_zip_countries.phtml" />
        </reference>
    </default>

    <catalog_category_default>
        <reference name="left">
            <block type="directory/currency" name="currency" before="facebook" template="directory/currency.phtml"/>
        </reference>
    </catalog_category_default>

<!--
Category layered navigation layout
-->

    <catalog_category_layered>
        <reference name="left">
            <block type="directory/currency" name="currency" before="facebook" template="directory/currency.phtml"/>
        </reference>
    </catalog_category_layered>

<!--
Catalog Search layout
-->

    <catalogsearch_advanced_index>
        <reference name="left">
            <block type="directory/currency" name="right_currency" before="facebook" template="directory/currency.phtml"/>
        </reference>
    </catalogsearch_advanced_index>

    <catalogsearch_result_index>
        <reference name="left">
            <block type="directory/currency" name="currency" before="facebook" template="directory/currency.phtml"/>
        </reference>
    </catalogsearch_result_index>

    <catalogsearch_advanced_result>
        <reference name="right">
            <block type="directory/currency" name="right_currency" before="facebook" template="directory/currency.phtml"/>
        </reference>
    </catalogsearch_advanced_result>

</layout>

Спасибо, надеюсь, вы можете мне помочь.

Ответы [ 2 ]

2 голосов
/ 04 марта 2011

Атрибуты before и after имеют ограниченную область действия.Они могут влиять только на

Порядок блоков в пределах конкретного подблока , когда этот подблок является core/test_list или другим блоком, который автоматически отображает отсортированные дочерние элементы..

Вы не дали достаточно контекста о том, как вы используете атрибуты в своем вопросе, чтобы дать вам конкретный совет, но я не думаю, что вы можете делать то, что считаете нужнымможно с функцией.Будьте более точны в своем вопросе и приведите пример кода вместе с контекстом стиля «Я ожидал foo, я получил бар» и поможет вам.

0 голосов
/ 06 марта 2011

Вы хотите этот заказ: 1. Facebook 2. Валюта 3. Вертикальная навигация 4. Информационные ссылки, но в своем макете вы указали, что Facebook следует за валютой.Если вы хотите, чтобы что-то показывалось сначала, вы должны использовать before = "-" (в ссылке facebook), затем использовать after = "facebook" для валюты, after = "currency" для catalog.vertnav и использовать after = "-" для левой.permanent.callout расположить его внизу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...