Neue Seitenlayoutoption Magento hinzufügen

11

Ich möchte ein neues Seitenlayout in Magento hinzufügen, das eine Option ist, die auf CMS-Seiten ausgewählt werden kann. Ich habe den 1-column.phtmlCode kopiert und leicht angepasst und in geändert1-column-version2.phtml.

Ich würde gerne wissen, wie ich die neue Datei referenzieren würde, damit sie in den CMS-Seitenlayoutoptionen angezeigt wird .

.

YorkieMagento
quelle

Antworten:

18

Um Ihre Anforderungen zu erfüllen, müssen Sie eine Erweiterung erstellen - ohne diese ist dies nicht möglich.

Modulkonfigurationsdatei:

Erstellen Sie die Moduldatei-Konfigurationsdatei unter app/etc/modules/Amit_NewLayout.xml

Code:

<?xml version="1.0"?>
<config>
    <modules>
        <Amit_NewLayout>
            <active>true</active>
            <codePool>local</codePool>
            <depends>
                <Mage_Page />
            </depends>
        </Amit_NewLayout>
    </modules>
</config>

Definieren Sie config.xml

Definieren Sie nun 1-column-version2.phtmlals Vorlage für das neue Layout in app/code/local/Amit/NewLayout/etc/config.xml

Code:

<?xml version="1.0"?> 
<config>
    <modules>
        <Amit_NewLayout>
            <version>0.0.1</version>
        </Amit_NewLayout>
    </modules>
    <global>
        <page>
            <layouts> 
                <new_cms_layout module="page" translate="label">
                    <label>New Cms Layout</label>
                    <template>page/1-column-version2.phtml</template>
                    <layout_handle>lookbook</layout_handle>
                </new_cms_layout> 
            </layouts>
        </page>
    </global>
</config>

Jetzt können Sie dieses Layout in den CMS-Seitenlayoutoptionen sehen.

Amit Bera
quelle
Ohne diesen Beitrag ist das nicht möglich.
jmargolisvt
1

Erstellen Sie ein Modul und fügen Sie unten xml in Ihre Datei config.xml ein.

app/code/local/Namespace/CustomLayouts/etc/config.xml

<?xml version="1.0"?>
<config>
 <global>
  <page>
   <layouts>
    <custom_static_page_one>
     <label>Custom static page</label>
     <template>page/1-column-version2.phtml</template>
    </custom_static_page_one>
   </layouts>
  </page>
 </global>
</config>

Registrieren Sie Ihr Modul

app/etc/modules/Namespace_CustomLayouts.xml

<?xml version="1.0"?>
<config>
 <modules>
  <Namespace_CustomLayouts>
   <codePool>local</codePool>
   <active>true</active>
  </Namespace_CustomLayouts>
 </modules>
</config>

Erstellen Sie Ihre eigene Vorlagendatei page/1-column-version2.phtml

Akhilesh Patel
quelle
-3

Fügen Sie Ihren Code hinzu

app\code\core\Mage\Page\etc

config.xml::

mit

 <My_one_column_cms module="page" translate="label">
        <label>My One Column</label>
        <template>page/home.phtml</template>
        <layout_handle>My_one_column_cms</layout_handle>
        </My_one_column_cms>

Sie können Namen ändern, wie Sie es in XML wünschen, und Sie können beliebige Wörter eingeben

Erstellen Sie dann home.phtml als Vorlage in newtheme / newpack / page / oder Ihrem Standardthema

Amit
quelle
Es ist nicht ratsam, die Kerndateien zu ändern.
KiwisTasteGood
Sie sollten die Core-Dateien niemals direkt ändern. Wenn Sie Ihre Magento-Instanz aktualisieren, verlieren Sie Ihre Änderungen. Aus diesem Grund würden Sie Ihre eigene Erweiterung erstellen und implementieren, wie in Amit Beras Antwort
JoshCarter