Ajouter une nouvelle option de mise en page Magento

11

Je voudrais ajouter une nouvelle mise en page dans Magento qui sera une option qui peut être sélectionnée dans les pages CMS. J'ai copié le 1-column.phtmlcode et l' ai légèrement adapté et changé en1-column-version2.phtml.

Je voudrais savoir comment je ferais pour référencer le nouveau fichier afin qu'il apparaisse dans les options de mise en page de la CMS .

.

YorkieMagento
la source

Réponses:

18

Pour répondre à vos besoins, vous devez créer une extension - sans cela, ce n'est pas possible.

Fichier de configuration du module:

Créez le fichier de configuration du fichier de module à 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>

Définissez config.xml

Définissez maintenant 1-column-version2.phtmlcomme modèle pour la nouvelle mise en page dans 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>

Maintenant, vous pourrez voir cette mise en page dans les options de mise en page de la page CMS.

Amit Bera
la source
Sans ce post, ce n'est pas possible.
jmargolisvt
1

Créez un module et ajoutez ci-dessous xml dans votre fichier config.xml.

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>

Enregistrez votre module

app/etc/modules/Namespace_CustomLayouts.xml

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

Créez votre propre fichier modèle page/1-column-version2.phtml

Akhilesh Patel
la source
-3

Ajoutez votre code dans

app\code\core\Mage\Page\etc

config.xml:

avec

 <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>

Vous pouvez changer les noms comme vous le souhaitez en xml en u pouvez mettre des mots

Créez ensuite home.phtml comme modèle dans newtheme / newpack / page / ou votre thème par défaut

Amit
la source
Il n'est pas judicieux de modifier les fichiers principaux.
KiwisTasteGood
Vous ne devez jamais modifier directement les fichiers Core. Pour élaborer, si vous deviez mettre à niveau votre instance Magento, vous perdriez vos modifications. C'est pourquoi vous devez créer votre propre extension et l'implémenter comme dans la réponse d'Amit Bera
JoshCarter