繁体   English   中英

Magento Layot XML-更改2columns-left.phtml的模板

[英]Magento Layot XML - Change template for 2columns-left.phtml

我正在一个基于Ultimo主题并使用fishpig wordpress扩展名的Magento项目。

我正在尝试仅更改wordpress页面上的2columns-left.phtml模板,但无法使其正常工作!

要进一步解释该方案:

Ultimo主题集的主要内容在左列之前,并使用float: right; 在主要内容上使用css规则将其定位在左列之后。 HTML的结构如下:

<div class="col-main grid4-3 grid-col2-main in-col2">
    [omitted code]
</div>
<div class="col-left sidebar grid4-1 grid-col2-sidebar in-sidebar"><div class="wp-sidebar">
    [omitted code]
</div></div>

该HTML由ultimo / default / template / page / 2columns-left.phtml通过以下方式生成:

<div class="col-main grid4-3 grid-col2-main in-col2">
  <?php echo $this->getChildHtml('global_messages') ?>
  <?php echo $this->getChildHtml('content') ?>
</div>
<div class="col-left sidebar grid4-1 grid-col2-sidebar in-sidebar"><?php echo $this->getChildHtml('left') ?></div>

我想使用自己的模板文件将侧边栏仅放在wordpress页面的HTML中的主要内容之前,这样wordpress类别将堆叠在移动设备中主要内容的上方。

我尝试创建自己的名为page / wp-2columns-left.phtml的模板,并使用以下代码和主题local.xml中的其他一些变体将其设置为网站的Wordpress部分

<wordpress_default>
    <reference name="root">
        <action method="setTemplate"><template>page/wp-2columns-left.phtml</template></action>
    </reference>
</wordpress_default>

但是仍然调用原始的2columns-left.phtml模板。 我可以直接编辑模板文件,并在网站的WordPress部分获得所需的结果,但这会影响Magento网站的其余部分,这不是一个好习惯。

您可以使用XML布局代码来实现。 以下代码将更改在WordPress中创建的所有页面的模板:

<wordpress_page_view>
    <reference name="root">
        <action method="setTemplate">
            <template>page/2columns-left.phtml</template>
        </action>
    </reference>
</wordpress_page_view>

以下代码将更改ID为32的WordPress页面模板:

<wordpress_page_view_32>
    <reference name="root">
        <action method="setTemplate">
            <template>page/2columns-left.phtml</template>
        </action>
    </reference>
</wordpress_page_view_32>

将此代码添加到XML布局文件后,您将需要刷新Layout XML缓存(如果已启用)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM