【问题标题】:How to move Magento page title above sidebar如何将 Magento 页面标题移动到侧边栏上方
【发布时间】:2013-02-15 22:12:58
【问题描述】:

我正在尝试拆分类别页面上的 2-columns-left 模板。

现在看起来是这样的:

_________________________________
|          |                    |
|          | Page Title         |
|          |                    |
|(sidebar) | (main content)     |
|          |                    |
|          |                    |
|__________|____________________|

我需要将类别名称和描述向上移动到左侧菜单上,并将宽度填充为 100%,如下所示:

_________________________________
|                               |
| Page Title                    |
|_______________________________|
|          |                    |
|(sidebar) | (main content)     |
|          |                    |
|          |                    |
|__________|____________________|

我不知道从哪里开始。当我查看 XML 时,它似乎不是一个可以放在其他地方的单独部分。

【问题讨论】:

  • 您是使用类别设置中的描述还是您要移动的类别文本的静态块?
  • 你可以只用 css 来做到这一点,或者改变一下模板
  • @Jeff - 我使用的是类别描述,而不是静态块
  • @dagfr - 你能帮我多一点吗?我不知道如何用 css 打破 2 列。

标签: xml magento php


【解决方案1】:

首先更新目录布局以使用单列模板。然后将 catalog.leftnav 块复制到 category.products 块中。

<!-- {THEME_PATH}/design/layout/catalog.xml -->
<catalog_category_default translate="label">

    <!-- Update the layout to use the single column template -->
    <reference name="root">
        <action method="setTemplate"><template>page/1column.phtml</template></action>
    </reference>

    <reference name="content">
        <block type="catalog/category_view" name="category.products" template="catalog/category/view.phtml">
            <!-- Move the catalog navigation block into the category view block -->
            <block type="catalog/navigation" name="catalog.leftnav" before="-" template="catalog/navigation/left.phtml"/>
        </block>
    </reference>

</catalog_category_default>

一旦 catalog.leftnav 块是 category.products 块的子块,您就可以使用 getChildHtml() 方法在 category.products 视图模板中显示它。

<!-- {THEME_PATH}/design/template/catalog/category/view.phtml -->
<div class="category-view">

    <div class="page-header">
        ...
    </div>

    <div class="category-nav">
        <?php echo $this->getChildHtml('catalog.leftnav'); ?>
    </div>

    <div class="category-content">
        ...
        <?php echo $this->getProductListHtml(); ?>
        ...
    </div>

</div>

风格随你喜欢。希望对您有所帮助。

【讨论】:

  • 啊当然,我非常专注于使用 2columns 模板。当你第一次得到这个想法时,这很简单。非常感谢。
  • @Nathan Stokes:这可以用于右列而不是左列吗?我没有使用分层导航,但我希望购物车侧边栏在右侧可见,类别标题和描述(和/或静态块)跨越其上方的整个宽度。我已经尝试了几件事,但它不起作用。任何想法?谢谢。
猜你喜欢
  • 2013-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-14
  • 1970-01-01
  • 2012-01-13
  • 1970-01-01
  • 2021-01-03
相关资源
最近更新 更多