2012-06-19 23 views

回答

9

您正在尋找的div是通過cms.xml佈局文件添加的page/html_wrapper塊。

下面是從應用程序/設計/前端/基/默認/佈局/ 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取決於如何你開發你的主題。

複製cms.xml從app/design/frontend/base/default/layout/cms.xmlapp/design/frontend/your_package/your_theme/layout/cms.xml和:如果您在複製基地佈局文件

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

第二個選項是適用的:如果你使用local.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> 
+0

嘿,討厭被輕推,但似乎值得指出一個acadamic--與功能上有意義的 - 相反:中間選項(用於'local.xml')將創建一個新的'Mage_Cms_Block_Page'實例,它覆蓋原來的一個。雖然我無法想象OOB CMS渲染有單獨的可見效果,但它可能與邊緣情況有關。 – benmarks

+0

你是對的,雖然我不確定在我的頭頂有沒有一種簡單的方法來完全去除外部包裝div,同時保持原始的內部cms /頁塊完好無損?你知道達到這個目標的方法嗎? –

+0

現在如此明顯(慚愧,我沒有發現):) –

2

編輯: 德魯問了一個問題,這讓我意識到你的問題是如何刪除div(不僅僅是刪除div的類)。在理想情況下它就像在佈局XML任何其他「移動」操作,這意味着清除一個親子關係(在這種情況下,cms.wrappercms_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()

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> 

乾杯!

薩蘭

+0

此代碼放置一個div而不是「std」,但是如何完成從DOM中刪除這個div? – ishubin

3

此代碼幫助我從一個CMS頁面刪除「性病」的div, 把它放到「佈局更新XML」部分:

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