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

Création d'un template pour Magento, est-ce que je fais les choses correctement ?
(1 lecteur(s)) (1) Invité(s)
Aller en basPage: 1
SUJET:

Création d'un template pour Magento, est-ce que je fais les choses correctement ?

#26713
immatrrecord
Fresh Boarder
Messages: 18
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Création d'un template pour Magento, est-ce que je fais les choses correctement ?

Il y a 1 Année, 11 Mois
Karma: 1  
Bonjour à tous,

Tout d'abord, félicitation pour ce site très réussi qui apporte beaucoup à l'utilisation de Magento...

Je découvre Magento depuis hier, et je suis assez séduit par toutes les fonctionnalités qu'il offre ainsi que sa flexibilité en terme de développement. Après lecture du "designer guide", j'en viens à me poser quelques questions...

Mon but, créer un thème de toutes pièces sur Magento pour migrer une boutique E-commerce actuellement sous Prestashop -> PittyPatons

Donc je m'essaye à l'aide des thèmes déjà installés sur Magento à "bidouiller" un peu pour "voir ce que sa fait" ^^).

Je créer donc un répertoire "app/design/frontend/default/perso" pour y réaliser quelques tests de personnalisation.

Dans le dossier de mon thème je rajoute :

    app/design/frontend/default/perso/etc
      Vide

    app/design/frontend/default/perso/layout
      page.xml

    app/design/frontend/default/perso/locale

      fr_FR
        translate.csv


    app/design/frontend/default/perso/template
      page
        html
        footer.phtml
        header.phtml
        menu.phtml

      3columns.phtml



Voila pour le début de mon thème, je l'active dans Magento, page blanche, ma base est bonne c'est ce que je voulais .

Donc maintenant, je voudrais mettre en page, je me lance !

Dans le dossier /skin/frontend/default/ je créer un dossier "perso" pour stocker css et images, dans le dossier "css", un fichier style.css vierge pour la mise en forme.

Commencement de ma structure, dans le fichier "app/design/frontend/default/perso/layout/page.xml"

voici le code: (Je vous passe le head, je met seulement le début de structure)

Code :


<block type="core/text_list" name="after_body_start" as="after_body_start"/>

            <block type="page/html_notices" name="global_notices" as="global_notices" template="page/html/notices.phtml" />
            

            <!-- <HEADER> -->
            <block type="page/html_header" name="header" as="header">
                
                <block type="page/switch" name="store_language" as="store_language" template="page/switch/languages.phtml"/>
                <block type="page/template_links" name="top.links" as="topLinks"/>
                
                <block type="page/html_wrapper" name="top.bar" as="topBar" translate="label">
                    <action method="setElementClass"><value>top-bar</value></action>
                    <block type="page/html_breadcrumbs" name="breadcrumbs" as="breadcrumbs"/>
                </block>
                
                <block type="page/html_wrapper" name="top.container" as="topContainer" translate="label">
                    <label>Page Header</label>
                    <action method="setElementClass"><value>top-container</value></action>
                </block>
                
            </block>
            <!-- </HEADER> -->

            
            <block type="page/html_menu" name="menu" as="menu" template="page/html/menu.phtml">
             <block type="core/text_list" name="top.menu" as="topMenu"/>
            </block>


            <!-- <FOOTER> -->
            <block type="page/html_footer" name="footer" as="footer" template="page/html/footer.phtml">
                 
            </block>
            <!-- </FOOTER> -->

            <block type="core/text_list" name="before_body_end" as="before_body_end"/>
        </block>

        <block type="core/profiler" output="toHtml" name="core_profiler"/>



Premier problème, tiens le fichier "menu.phtml" que j'appelle dans mon fichier page.xml ne s'affiche pas à l'écran . Bon j'active les fonctions développeur dans le back office de Magento, j'ai ma réponse !

Le fichier "code/core/Mage/Page/Block/Menu.php" n'existe pas !

Bon qu'à cela ne tienne, je le créer et met dedans :

Code :

<?php
class Mage_Page_Block_Html_Menu extends Mage_Core_Block_Template 
{
function __construct()
{
parent::__construct();
$this->setTemplate('page/html/menu.phtml');
}
}



ça marche, le menu s'affiche avec la catégorie que j'ai créer avant dans le back office....

Bon est-ce bien propre de procéder ainsi ?! Peut-on mieux faire ?!

Merci de vos réponses et de vos conseils, si vous voulez connaitre le contenu des autres fichiers qui composent mon "pseudo thème" demandez .
 
L'administrateur a désactivé l'accès public en écriture.
#26724
ceddddd
Platinum Boarder
Messages: 2634
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin bloggento ced__@hotmail.fr

Re:Création d'un template pour Magento, est-ce que je fais les choses correctement ?

Il y a 1 Année, 11 Mois
Karma: 27  
Bonjour,
pour le menu c'est pas normal, tout ce que magento ne trouve pas dans ton theme il va le chercher dans le theme default ( et le menu si trouve forcement : )
ou si tu veux garder dans ton layout ça devrait suffir => <block type="core/text_list" name="top.menu" as="topMenu"/>
en ce qui concerne l'ajout du menu dans le core=> pas bien il ne faut pas troucher au core de magento c'est source à probleme.
 
Prestataire magento Site magento
Nouveautés magento
L'administrateur a désactivé l'accès public en écriture.
#26825
immatrrecord
Fresh Boarder
Messages: 18
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:Création d'un template pour Magento, est-ce que je fais les choses correctement ?

Il y a 1 Année, 11 Mois
Karma: 1  
En l'occurrence dans ce cas précis, je voudrais rajouter un block d'ou la création du template "menu.phtml" contenant :

Code :

<div id="menu">
<?php echo $this->getChildHtml('topMenu') ?>
</div>




Donc comment appeler ce template dans mon layout page.xml ?
 
L'administrateur a désactivé l'accès public en écriture.
#27146
immatrrecord
Fresh Boarder
Messages: 18
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:Création d'un template pour Magento, est-ce que je fais les choses correctement ?

Il y a 1 Année, 11 Mois
Karma: 1  
up
 
L'administrateur a désactivé l'accès public en écriture.
#27147
Pyksel
Platinum Boarder
Messages: 1401
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Sexe: Masculin lapierredelune blog.magentoo.fr pyksel@live.fr Lieu: Nice Date anniversaire: 12/09

Re:Création d'un template pour Magento, est-ce que je fais les choses correctement ?

Il y a 1 Année, 11 Mois
Karma: 19  
Il ne s'affiche pas car ceci n'est pas bon :

Code :

<block type="page/html_menu" name="menu" as="menu" template="page/html/menu.phtml">
             <block type="core/text_list" name="top.menu" as="topMenu"/>
            </block>



essaye ceci : (dans le block header)

<block type="page/html_header" name="header" as="header">
<block type="core/text_list" name="top.menu" as="topMenu"/>
</block>

puis si on est dans le bon template (en l'occurence header.phtml) :

Code :

<?php echo $this->getChildHtml('topMenu') ?>
 
L'administrateur a désactivé l'accès public en écriture.
#27149
immatrrecord
Fresh Boarder
Messages: 18
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur

Re:Création d'un template pour Magento, est-ce que je fais les choses correctement ?

Il y a 1 Année, 11 Mois
Karma: 1  
Merci beaucoup, ça fonctionne très bien, je peux lister mes catégories dans mon menu maintenant...

Cependant deux question, comment faire pour appeler un template que l'ont à soit même créer ?! Je reprend l'exemple de mon template menu.phtml, comment l'appeler dans mon layout ?

Deuxième question, les catégories s'affichent bien mais les produits n'apparaissent pas dans le menu déroulant comme par defaut, une idée ?


Le code de page.xml complet:

Code :

<?xml version="1.0"?>

<layout version="0.1.0">

    <default translate="label" module="page">
        <label>All Pages</label>
        <block type="page/html" name="perso" output="toHtml" template="page/3columns.phtml">

         <!-- <HEAD> -->
            <block type="page/html_head" name="head" as="head">
                <action method="addJs"><script>prototype/prototype.js</script></action>
                <action method="addJs" ifconfig="dev/js/deprecation"><script>prototype/deprecation.js</script></action>
                <action method="addJs"><script>prototype/validation.js</script></action>
                <action method="addJs"><script>scriptaculous/builder.js</script></action>
                <action method="addJs"><script>scriptaculous/effects.js</script></action>
                <action method="addJs"><script>scriptaculous/dragdrop.js</script></action>
                <action method="addJs"><script>scriptaculous/controls.js</script></action>
                <action method="addJs"><script>scriptaculous/slider.js</script></action>
                <action method="addJs"><script>varien/js.js</script></action>
                <action method="addJs"><script>varien/form.js</script></action>
                <action method="addJs"><script>varien/menu.js</script></action>
                <action method="addJs"><script>mage/translate.js</script></action>
                <action method="addJs"><script>mage/cookies.js</script></action>

                <action method="addCss"><stylesheet>css/widgets.css</stylesheet></action>
                <action method="addCss"><stylesheet>css/styles.css</stylesheet></action>
                <action method="addItem"><type>skin_css</type><name>css/styles-ie.css</name><params/><if>lt IE 8</if></action>

                <action method="addItem"><type>js</type><name>lib/ds-sleight.js</name><params/><if>lt IE 7</if></action>
                <action method="addItem"><type>skin_js</type><name>js/ie6.js</name><params/><if>lt IE 7</if></action>

                <action method="addCss"><stylesheet>css/print.css</stylesheet><params>media="print"</params></action>
            </block>
            <!-- </HEAD> -->

            <block type="core/text_list" name="after_body_start" as="after_body_start"/>
            <block type="page/html_notices" name="global_notices" as="global_notices" template="page/html/notices.phtml" />
            

            <!-- <HEADER> -->
            <block type="page/html_header" name="header" as="header">
                
                <block type="page/switch" name="store_language" as="store_language" template="page/switch/languages.phtml"/>
                <block type="page/template_links" name="top.links" as="topLinks"/>
                
                <block type="page/html_wrapper" name="top.bar" as="topBar" translate="label">
                    <action method="setElementClass"><value>top-bar</value></action>
                    <block type="page/html_breadcrumbs" name="breadcrumbs" as="breadcrumbs"/>
                </block>
                
                <block type="page/html_wrapper" name="top.container" as="topContainer" translate="label">
                    <label>Page Header</label>
                    <action method="setElementClass"><value>top-container</value></action>
                </block>
                
                <block type="core/text_list" name="top.menu" as="topMenu" />
              
            </block>
            <!-- </HEADER> -->


            <!-- <FOOTER> -->
            <block type="page/html_footer" name="footer" as="footer" template="page/html/footer.phtml">
                 
            </block>
            <!-- </FOOTER> -->

            <block type="core/text_list" name="before_body_end" as="before_body_end"/>
        </block>

        <block type="core/profiler" output="toHtml" name="core_profiler"/>
       
    </default>
    
</layout>




Merci de vos réponse
 
L'administrateur a désactivé l'accès public en écriture.
Revenir en hautPage: 1
Modérateur: admin, neurone, Gabriiiel, CaPiT