我有一个magento网站,其中我定制了右侧栏静态块好。
它会在除产品页面之外的所有页面上显示。
是否需要在布局xml文件,magento控制面板或其他设计文件中进行编辑?
谢谢!
更新
问题是全局右侧边栏正在显示所有内容,但产品页面仍然显示旧版本,没有修改。
答案 0 :(得分:2)
您只需将产品视图xml更新添加到local.xml布局文件(或创建它)。该文件位于:
/app/design/frontend/your_package/your_theme/layout/local.xml
您需要的精简版xml是:
<?xml version="1.0"?>
<layout version="0.1.0">
<!-- Layout Handle for Product View Page -->
<catalog_product_view>
<!-- Reference Pointing to Right Sidebar -->
<reference name="right">
<!-- Enter All Right Sidebar Layout Updates Here -->
</reference>
</catalog_product_view>
</layout>
如果您将右侧边栏重命名为其他内容,请将上面的参考名称更改为您更改为的内容。这里有一些快速参考,显示您可以通过local.xml进行安排:
<reference name="right">
<!-- Removes Block By Name -->
<remove name="name_of_removed_block"/>
<!-- Insert Moved Block (Must Unset First, See Left Reference) -->
<action method="insert">
<blockName>name_of_unset_block</blockName>
<siblingName>name_of_adjacent_block</siblingName>
<after>1</after> <!-- 0 = Before / 1 = After Sibling Block -->
</action>
</reference>
<reference name="left">
<!-- Unset Block By Name, Can Be Inserted Elsewhere As Above -->
<action method="unsetChild">
<name>name_of_unset_block</name>
</action>
</reference>
<!-- Blocks Left and Right Automatically Load All Child Html -->
<reference name="right">
<!-- Load New Block From Template File -->
<block type="core/template" name="new_block_name" template="page/html/newblock.phtml" after="adjacent_block_name" />
</reference>
<!-- Some Blocks (Like Header) Require Child Html to be Called After Set in XML -->
<reference name="header">
<!-- Adding a Block Below Won't Be Enough To Add Our Template File Here -->
<block type="core/template" name="new_header_block" template="page/html/headerblock.phtml" />
</reference>
并非所有添加的块都会立即显示,有时您需要进入父块的模板文件中以添加您想要的子块。在上面的例子中,我使用了“标题”块,对于实际添加的任何内容,我必须直接编辑.phtml文件。 (除非您已将header.phtml更改为仅使用$ this-&gt; getChildHtml('');因为没有块名称表示Magento应加载所有子html块。)
在这种情况下,我们必须更改header.phtml,并在该文件中的某个位置(/app/design/frontend/your_package/your_theme/page/html/header.phtml),您需要添加:
<?php echo $this->getChildHtml('new_header_block'); ?>
您希望将块添加到标题中的位置。
这应该让你开始朝着正确的方向前进。确保您的任何网页/产品/类别都没有在后端的记录中包含任何自定义布局xml,这可能会影响正面显示的内容。