Bienvenue, Invité
Merci de vous identifier ou de vous inscrire.    Mot de passe perdu?

Ajouter des gabarits aux pages statiques
(1 lecteur(s)) (1) Invité(s)
Aller en basPage: 12
SUJET:

Ajouter des gabarits aux pages statiques

*
#9338
Gabriiiel
I love Magento.
Expert Magento
Messages: 4118
graph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin gabriel.bouhatous Formation Magento Audit Conseil gabriel.bouhatous Ask me :) Lieu: Paris

Ajouter des gabarits aux pages statiques

Il y a 8 Années, 11 Mois
Karma: 112  
A l'issue de cet article vous saurez comment ajouter des gabarits pour vos pages statiques, vos pages catalogues (les "landings" notamment : pages qui présentent une catégorie), etc.

Le terme gabarit concerne ici des .phtml d'organisation de la page - et pas les gabarits ".xml" ! Attention à bien faire la différence.

Tout d'abord il faut savoir que de base Magento propose 3 gabarits d'organisation de la page, qui sont contenus dans app/frontend/{interface}/{theme}/template/page :
1column.phtml : le contenu est organisé au sein d'une seul colonne.
2columns-left.phtml : le contenu est organisé en deux colonnes > une colonne principale, et sur sa gauche, une colonne gauche
2columns-right.phtml : le contenu est organisé en deux colonnes > une colonne principale, et sur sa droite, une colonne droite
3columns.phtml : le contenu est organisé en trois colonnes : la colonne principale au centre, entourée des colonnes droites et gauches
Le contenu de la colonne principale est appelé, dans le gabarit de mise en page, par <?php echo $this->getChildHtml('content') ?>
Le contenu de la colonne droite est lui appelé par <?php echo $this->getChildHtml('right') ?> et celui de la colonne gauche par <?php echo $this->getChildHtml('left') ?>

Maintenant, comment ajouter un gabarit de mise en page ?

Pour y parvenir on va créer un module, et ce module on va l'appeler Mage_Templates.

D'abord on place sous app/etc/modules un fichier Mage_Templates.xml qui contiendra le code suivant :

Code :

<config>
    <modules>
        <Mage_Templates>
            <active>true</active>
            <codePool>local</codePool>
        </Mage_Templates>
    </modules>
</config>



Ce fichier permet de référencer le module au sein de Magento : Magento va lire Mage_Templates.xml, voir que "active" vaut "true" (= le module est activé - mettre à "false" ou passer par l'onglet "Avancé" de la configuration système pour désactiver), et chercher le code du module dans app/code/local car le "codePool" vaut "local" (mettre "community" si vous préférez placer votre code dans app/code/community).

Dans app/code/local, créez deux dossiers de manière à avoir : app/code/local/Mage/Templates
Créez un sous dossier etc et placez-y un fichier config.xml de manière à avoir : app/code/local/Mage/Templates/config.xml.
Config.xml aura le contenu suivant :

Code :

<config>
    <global>
        <cms>
            <layouts>
                <new_template1>
                    <label>{label du template}</label>
                    <template>{chemin du template}</template>
                </new_template1>
            </layouts>
        </cms>  
    </global>
</config>



Ce code va permettre l'ajout d'un gabarit de mise en page dont vous choisirez le label et l'emplacement.

Admettons que vous créez un gabarit pour la homepage, vous pouvez mettre "Gabarit Homepage" pour le label. Si votre gabarit se trouve dans template/homepage/gabarit_homepage.phtml, "homepage" étant un dossier que vous aurez créé, on aura au final :

Code :

<config>
    <global>
        <cms>
            <layouts>
                <new_template1>
                    <label>Gabarit Homepage</label>
                    <template>homepage/gabarit_homepage.phtml</template>
                </new_template1>
            </layouts>
        </cms>  
    </global>
</config>



Pour ajouter un nouveau template :

Code :

<config>
    <global>
        <cms>
            <layouts>
                <new_template1>
                    <label>Gabarit Homepage</label>
                    <template>homepage/gabarit_homepage.phtml</template>
                </new_template1>
                <new_template2>
                    <label>{label du template 2}</label>
                    <template>{chemin du template 2}</template>
                </new_template2>
            </layouts>
        </cms>  
    </global>
</config>



Pour voir les changements rendez vous dans l'onglet "Design personnalisé" de votre page statique. Vous trouverez une option supplémentaire dans la liste déroulante de choix du gabarit de la page.

Pas de changements ? Vérifiez que vous avez bien suivi les étapes de cet article et que le cache de Magento est bien vidé et désactivé.





  • Contributeur : Gabriel

  • La reproduction de cet article n'est pas permise, hors autorisation expresse de Fragento.
 
Dernière édition: 30/03/09 à  11:47 Par Gabriiiel.
Expert Magento @ The e-Commerce Academy

L'administrateur a désactivé l'accès public en écriture.
#11192
toulousain
Platinum Boarder
Messages: 570
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin Lieu: Montpellier

Re:Ajouter des gabarits aux pages statiques

Il y a 8 Années, 10 Mois
Karma: 15  
Petite correction si tu le permets Gabriiiel :

Cet extrait :

Code :


Dans app/code/local, créez deux dossiers de manière à avoir : app/code/local/Mage/Templates
Créez un sous dossier etc et placez-y un fichier config.xml de manière à avoir : app/code/local/Mage/Templates/config.xml.



Devient (corrections en rouge) :

Dans app/code/local, créez deux dossiers de manière à avoir : app/code/local/Mage/Gabarits
Créez un sous dossier etc et placez-y un fichier config.xml de manière à avoir : app/code/local/Mage/Gabarits/etc/config.xml.

J'imagine que tu es aller un peu vite.
 
Développement / gestion de projet E-commerce magento
Montpellier
L'administrateur a désactivé l'accès public en écriture.
#11195
Gabriiiel
I love Magento.
Expert Magento
Messages: 4118
graph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin gabriel.bouhatous Formation Magento Audit Conseil gabriel.bouhatous Ask me :) Lieu: Paris

Re:Ajouter des gabarits aux pages statiques

Il y a 8 Années, 10 Mois
Karma: 112  
Merci toulousain,

Après un mois étonnant que personne ne l'ai remarqué ! Tu as bien fais de me le signaler !

En fait dans mes tutos persos j'ai Mage_Templates, j'ai voulu traduire, mais traduction incomplète !

NB : Je n'ai pas gardé l'appelation Mage_Gabarits. J'ai laissé Mage_Templates ;)
 
Expert Magento @ The e-Commerce Academy

L'administrateur a désactivé l'accès public en écriture.
#12353
Kromack
Junior Boarder
Messages: 21
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin nukium Lieu: Montpellier

Re:Ajouter des gabarits aux pages statiques

Il y a 8 Années, 9 Mois
Karma: 0  
Merci cela fonctionne
 
L'administrateur a désactivé l'accès public en écriture.
#13180
Typonch
Junior Boarder
Messages: 35
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Erreur

Il y a 8 Années, 8 Mois
Karma: 1  
Bonsoir,

Je viens de tester en locale magento 1.3.
j'ai suivi rigoureusement les posts précédents et les corrections de terme, vidé la cache, rien.
J'y suis arrivé en changeant le nom du dossier Gabarits par Templates comme l'avait dit gabriel et là je vois mon gabarit dans mon menu déroulant. Pour créer mon nouveau template, j'ai copier coller le template 1column et l'ai renomé gabarit_homepage.phtml.
J'ai alors cette erreur, celà vient t'il de mon coipier collé ?

Merci,

Erreur :

Warning: include(C:\wamp\www\magento\app\design\frontend\default\default\template\gabarit_homepage.phtml) [function.include]: failed to open stream: No such file or directory in C:\wamp\www\magento\app\code\core\Mage\Core\Block\Template.php on line 144
Trace:
#0 C:\wamp\www\magento\app\code\core\Mage\Core\Block\Template.php(144): mageCoreErrorHandler(2, 'include(C:\wamp...', 'C:\wamp\www\mag...', 144, Array)
#1 C:\wamp\www\magento\app\code\core\Mage\Core\Block\Template.php(144): Mage_Core_Block_Template::fetchView()
#2 C:\wamp\www\magento\app\code\core\Mage\Core\Block\Template.php(176): Mage_Core_Block_Template->fetchView('frontend\defaul...')
#3 C:\wamp\www\magento\app\code\core\Mage\Core\Block\Template.php(193): Mage_Core_Block_Template->renderView()
#4 C:\wamp\www\magento\app\code\core\Mage\Core\Block\Abstract.php(643): Mage_Core_Block_Template->_toHtml()
#5 C:\wamp\www\magento\app\code\core\Mage\Core\Model\Layout.php(526): Mage_Core_Block_Abstract->toHtml()
#6 C:\wamp\www\magento\app\code\core\Mage\Core\Controller\Varien\Action.php(339): Mage_Core_Model_Layout->getOutput()
#7 C:\wamp\www\magento\app\code\core\Mage\Cms\Helper\Page.php(86): Mage_Core_Controller_Varien_Action->renderLayout()
#8 C:\wamp\www\magento\app\code\core\Mage\Cms\controllers\PageController.php(33): Mage_Cms_Helper_Page->renderPage(Object(Mage_Cms_PageController), '2')
#9 C:\wamp\www\magento\app\code\core\Mage\Core\Controller\Varien\Action.php(367): Mage_Cms_PageController->viewAction()
#10 C:\wamp\www\magento\app\code\core\Mage\Core\Controller\Varien\Router\Standard.php(247): Mage_Core_Controller_Varien_Action->dispatch('view')
#11 C:\wamp\www\magento\app\code\core\Mage\Core\Controller\Varien\Front.php(158): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#12 C:\wamp\www\magento\app\Mage.php(457): Mage_Core_Controller_Varien_Front->dispatch()
#13 C:\wamp\www\magento\index.php(52): Mage::run()
#14 {main}
 
L'administrateur a désactivé l'accès public en écriture.
#13182
Typonch
Junior Boarder
Messages: 35
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:Erreur précision

Il y a 8 Années, 8 Mois
Karma: 1  
Mon site à deux vues de magasins car deux langues fr et uk.
Si je choisi le gabarit pour la homepage appliqué à la version anglaise j'ai l'erreur ci-dessous.
Si je choisi le gabarit pour la homepage appliqué la version française j'ai ma page mais avec comme message : There was no Home CMS page configured or found.
Si je choisi le gabarit pour la homepage aplliqué à toutes les vues magasins, j'ai ma page mais avec l'alerte à la place de mon image unique de contenu : There was no Home CMS page configured or found.
 
L'administrateur a désactivé l'accès public en écriture.
#13183
Gabriiiel
I love Magento.
Expert Magento
Messages: 4118
graph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin gabriel.bouhatous Formation Magento Audit Conseil gabriel.bouhatous Ask me :) Lieu: Paris

Re:Erreur précision

Il y a 8 Années, 8 Mois
Karma: 112  
[code]www\magento\app\design\frontend\default\...omepage.phtml/[code]

Le chemin n'est pas bon pour commencer, il faut le placer dans template/page (voir les premières lignes).
 
Dernière édition: 07/05/09 à  18:20 Par Gabriiiel.
Expert Magento @ The e-Commerce Academy

L'administrateur a désactivé l'accès public en écriture.
#14415
ciboulette
Junior Boarder
Messages: 20
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:Ajouter des gabarits aux pages statiques

Il y a 8 Années, 7 Mois
Karma: 0  
salut salut, bon alors moi j'ai tout fait comme tu a dit, (information je suis sur une version 1.3.2.1) et rien ne s'affiche quand je vais dans la parti design perso... j'ai aucune erreur etc... j'ai fait des copier coller de tes codes mais rien a faire ça ne marche pas... a cause de ma version peuetre?
 
L'administrateur a désactivé l'accès public en écriture.
Revenir en hautPage: 12
Modérateur: Gabriiiel, ILOA, zuiko