Question

Is it possible to move the page title on cms pages to the left column of a 2 column left layout?

But, purely using local.xml and not editing the templates?

Was it helpful?

Solution

Yes of course, bu not page title, you can move content heading. In that case local.xml cannot affect to cms page, because of it is loaded before cms.xml. You should edit cms.xml as following:

<cms_page translate="label">
    <label>CMS Pages (All)</label>
    <reference name="left">
        <block type="core/template" name="page_content_heading" template="cms/content_heading.phtml" before="tags_popular"/>
        <remove name="catalog.compare.sidebar"/>
    </reference>
    <reference name="content">
         <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>

You should change layout of cms page via admin.

OTHER TIPS

mageUz's answer does not follow best practices for keeping your Magento installation upgrade friendly. You should avoid editing cms.xml or any of the other base xml files.

A better way to do this would be the following in app/design/frontend/PACKAGE_NAME/THEME_NAME/layout/local.xml

<cms_page>
    <reference name="left">
        <action method="setChild">
            <name>page_content_heading</name>
        </action>
    </reference>
    <reference name="content">
        <action method="unsetChild">
            <name>page_content_heading</name>
        </action>
    </reference>
</cms_page>

Additionally, this can be done on a per page basis by putting this XML into the "Layout Update XML" field of the Design Tab, when editing pages from the admin. You would just omit the "cms_page" node, and instead just need the two "reference" xml nodes.

Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top