Ajout d'une nouvelle mise en page comme la page de catégorie
-
13-12-2019 - |
Question
J'ai ajouté une nouvelle mise en page dans ma boutique et maintenant, lorsque je souhaite ajouter une autre mise en page, elle est remplacée par la mise en page précédemment ajoutée.
Pourquoi cela arrive-t-il?Puis-je créer plus d'une mise en page ?
MODIFIER:J'ai ajouté app/code/local/Home/Page/etc/config.xml
:
<?xml version="1.0"?>
<config>
<modules>
<Home_page>
<version>0.1.0</version>
</Home_page>
</modules>
<global>
<page>
<layouts>
<homepage translate="label">
<label>Home_page</label>
<template>page/homepage.phtml</template>
<layout_handle>home_page</layout_handle>
</homepage>
<!-- add more layouts here -->
</layouts>
</page>
</global>
</config>
Également ajouté app/etc/Home_page.xml
:
<?xml version="1.0"?>
<config>
<modules>
<Home_page>
<active>true</active>
<codePool>local</codePool>
<depends>
<Mage_Page />
</depends>
</Home_page>
</modules>
</config>
Et ajoute ceci app/design/frontend/default/my-theme/template/page/homepage.phtml
, que j'utilise ma mise en page dans cette page.
La solution
Vous n'avez pas montré comment vous avez ajouté plus de mises en page, mais je suppose quel est le problème :
<homepage translate="label">
<label>Home_page</label>
<template>page/homepage.phtml</template>
<layout_handle>home_page</layout_handle>
</homepage>
La poignée de mise en page home_page
ainsi que le nom de l'élément <homepage>
doit être unique.Donc, si vous ajoutez des mises en page supplémentaires et que vous utilisez <homepage>
encore une fois, il remplace le précédemment ajouté <homepage>
mise en page.
Autres conseils
Votre fichier d'activation est erroné.ça devrait ressembler à ça
Déposer : app/etc/Home_Page.xml
:
<?xml version="1.0"?>
<config>
<modules>
<Home_Page>
<active>true</active>
<codePool>local</codePool>
<depends>
<Mage_Page />
</depends>
</Home_Page>
</modules>
</config>
c'est-à-dire que vous devriez utiliser Home_Page
au lieu de Home_page
partout.
Votre fichier de configuration devrait être
Déposer: app/code/local/Home/Page/etc/config.xml
:
<?xml version="1.0"?>
<config>
<modules>
<Home_Page>
<version>0.1.0</version>
</Home_Page>
</modules>
<global>
<page>
<layouts>
<homepage module="Home_Page" translate="label">
<label>Home Page</label>
<template>homepage/unique.phtml</template>
<layout_handle>home_page</layout_handle>
</homepage>
<!-- add more layouts here -->
</layouts>
</page>
</global>
</config>
Vous avez également eu le même problème dans ce fichier.
Il y a plusieurs choses qui traînent dans votre module.Ils sont :
vous devez définir un fichier XML de mise à jour de mise en page pour votre module :Utiliser ce fichier pour définir votre descripteur de page personnalisé.Pour plus de détails, vous pouvez vous référer à
app\design\frontend\base\default\layout\page.xml
.Voir la définition depage_one_column
poignée de mise en page.Vous avez besoin d'une telle définition pourhome_page
dans votre propre fichier XML de mise à jour de mise en page.Vous devez définir le fichier de modèle de mise en page.D'après les modifications que j'ai montrées ci-dessus, vous devez définir ce fichier à
app\design\frontend\base\default\template\homepage\unique.phtml
.Utiliserapp\design\frontend\base\default\template\page\1column.phtml
comme référence pour cela.
Bonne chance