3

我试图从我的 magento 主页中删除“std div”,但找不到相同的任何建议。

4

4 回答 4

9

您要查找的 div 是通过 cms.xml 布局文件添加的 page/html_wrapper 块。

以下是摘自 app/design/frontend/base/default/layout/cms.xml 的摘录:

<cms_page translate="label">
        <label>CMS Pages (All)</label>
        <reference name="content">
            <block type="core/template" name="page_content_heading" template="cms/content_heading.phtml"/>
            <block type="page/html_wrapper" name="cms.wrapper" translate="label">
                <label>CMS Content Wrapper</label>
                <action method="setElementClass"><value>std</value></action>
                <block type="cms/page" name="cms_page"/>
            </block>
        </reference>
    </cms_page>

因此,根据您开发主题的方式,有几种方法可以删除 div 。

如果您使用 local.xml,第一个选项将适用:

    <cms_page>
        <reference name="content">
            <action method="unsetChild">
                <alias>cms.wrapper</alias>
            </action>
            <block type="cms/page" name="cms_page"/>
        </reference>
    </cms_page>

如果您将基本布局文件复制到以下位置,则第二个选项将适用:

复制 cms.xml from app/design/frontend/base/default/layout/cms.xmltoapp/design/frontend/your_package/your_theme/layout/cms.xml并将上面的第一个布局片段编辑为以下内容:

   <cms_page translate="label">
        <label>CMS Pages (All)</label>
        <reference name="content">
            <block type="core/template" name="page_content_heading" template="cms/content_heading.phtml" />
            <block type="cms/page" name="cms_page" />
        </reference>
    </cms_page>
于 2012-06-19T19:13:19.987 回答
3

此代码帮助我从单个 cms 页面中删除“std”div,将其放入“Layout Update XML”部分:

<reference name="content">
<action method="unsetChild">
<alias>cms.wrapper</alias>
</action>
<block type="cms/page" name="cms_page"/>
</reference>
于 2016-02-04T12:34:02.737 回答
2

编辑: 德鲁问了一个问题,这让我意识到你的问题是如何删除 div(不仅仅是删除 div 的类)。理想情况下,它就像布局 XML 中的任何其他“移动”操作一样,这意味着取消设置父子关系(在本例中为cms.wrapperand之间的关系cms_page)并将子关系设置为另一个块 ( content):

<?xml version="1.0"?>
<layout>
     <cms_page>
         <reference name="content">
             <action method="unsetChild">
                <alias>cms.wrapper</alias>
             </action>
             <action method="insert">
                <alias>cms_page</alias>
             </action>
         </reference>
    </cms_page>
</layout>

我的原始回复如下:

德鲁在他的回答中有很多很好的信息。我只想指出块 API 有一些细微差别可以使布局 XML 非常干净。

在您的 local.xml 中:

<?xml version="1.0"?>
<layout>
     <cms_page translate="label">
        <reference name="cms.wrapper">
            <action method="unsetElementClass" />
        </reference>
    </cms_page>
</layout>

参考Mage_Page_Block_Html_Wrapper->_toHtml()Varien_Object->__call()

于 2012-06-20T01:58:23.173 回答
0

这是您要找到的解决方案:)

将此 xml 代码放入 Page -> Design -> Layout Update XML

<block type="page/html_wrapper" name="cms.wrapper" translate="label"> 
<label>CMS Content Wrapper</label> 
<action method="setElementClass"><value>your_class_name</value></action> 
<block type="cms/page" name="cms_page"/> 
</block>

干杯!

萨兰

于 2014-06-27T10:42:35.573 回答