3

magentoのホームページから「stddiv」を削除しようとしましたが、同じ提案が見つかりませんでした。

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>

ベース レイアウト ファイルを次の場所にコピーする場合は、2 番目のオプションが適用されます。

から cms.xml をコピーapp/design/frontend/base/default/layout/cms.xmlapp/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 を削除し、「レイアウト更新 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.wrapperとの間の関係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 コードを [ページ] -> [デザイン] -> [レイアウト更新 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 に答える