magentoのホームページから「stddiv」を削除しようとしましたが、同じ提案が見つかりませんでした。
4 に答える
探している 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.xml
しapp/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>
このコードは、単一の cms ページから「std」div を削除し、「レイアウト更新 XML」セクションに配置するのに役立ちました。
<reference name="content">
<action method="unsetChild">
<alias>cms.wrapper</alias>
</action>
<block type="cms/page" name="cms_page"/>
</reference>
編集:
ドリューは、あなたの質問が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()
これがあなたが見つけている解決策です:)
この 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>
乾杯!
サラン