IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Faire un template différent par section [Joomla!]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre éclairé Avatar de guy2004
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    805
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 805
    Par défaut Faire un template différent par section
    Bonjour, Y en a t-il qui savent comment faire en sorte d'avoir 1 interface différente ( pas les menus, jsute la couleur du template en fait change) par section au lieu d'avoir 1 modèle pour tout le site ?
    Merci

  2. #2
    Membre émérite Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Par défaut
    Je te propose deux solutions :

    1ere solution :
    Dans joomla, il existe un module, s'il est publié, permettant à l'utilisateur de changer le template utilisé (vu par exemple sur les sites proposant des templates). Cette manière de faire se rapproche de ma solution.
    Pour chaque template, pour changer les couleurs, ce sont les meme images mais avec des couleurs différentes. Ces images sont "physiquement" différentes. C'est à dire que tu peux trouver image1_black.jpg et image1_green.jpg.

    Comme pour les langues, tu remplace les appels aux images dans le fichier index.php du template par des appels à des constantes en fonction de la section.
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <image src=<?php echo "...path de l'image/" + _IMAGE_BLACK; ?> />
    Et dans un fichier php que tu mettra dans le repertoire du template, et qui ressemblera aux fichiers de langue, tu defini tes constantes.
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DEFINE('_IMAGE_BLACK','...path de l\'image/...');
    2nde solution :
    Là tu pourrais, toujours en fonction de la section (donc tu fais un test sur la section affichée) publier le template voulu en changeant la valeur du template publié dans la table jos_templates_menu.

    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  3. #3
    Membre éclairé Avatar de guy2004
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    805
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 805
    Par défaut
    Ok je vois ton raisonnement...je vais essayer de mettre ca sur pied, merci

  4. #4
    Membre éclairé Avatar de guy2004
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    805
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 805
    Par défaut
    bon j'ai toujours pas trouvé, pour tester la section je fais comment t'as pas un petit exemple a me donner stp ?
    Merci beaucoup

  5. #5
    Membre émérite Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Par défaut
    J'ai pas joomla sous la main, par contre tu peux mettre ton code et là je pourrais t'aider. Pour tester la section, tu fais une requete SQL pou retourner le nom de la section affichée (généralement associé à ItemId) et puis en fonction de celle-ci tu publie un template...
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  6. #6
    Membre émérite Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Par défaut
    Re!

    J'ai retrouvé un bout de code :
    La requete me retourne le nom de la section que je veux. Généralement je mets le meme nom sur le menu . Tu peux aussi recuperer l'Itemid sur l'url et faire une requete pour retourner la section (qui a le meme nom)
    Pour rappel, Itemid est l'id de l'item de menu actif.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $query = "SELECT id FROM #__sections as sect WHERE sect.title=\"TITRE\";";
        $database->setQuery( $query );
        $section_id = $database->loadResult();
        if ($database -> getErrorNum()) {
                echo $database -> stderr();
                return false;
        }
    Là, c'est pour recuperer l'Itemid, cette requete peut ne pas etre utilisée avec la premiere. C'est que des exemples que je donne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        $query = "SELECT id FROM #__menu as menu WHERE menu.name=\"TITRE\";";
        $database->setQuery( $query );
        $Itemid = $database->loadResult();
        if ($database -> getErrorNum()) {
                echo $database -> stderr();
                return false;
        }
    [EDIT]
    Citation Envoyé par slim
    Généralement je mets le meme nom sur le menu
    Au fait, Quand tu ajoute un nouveau menu, l'interface te propose plusieurs liens dont "section". Tu choisis la section que tu aura préalablement créé et tu crée ton menu (par menu, je veux dire "item de menu"). Et surtout tu mets le meme titre que la section. A partir de là, tu peux, en utilisant les id, savoir quelle section est affichée.[/EDIT]
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  7. #7
    Membre chevronné
    Avatar de opware2000
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 243
    Par défaut
    solution simple :
    éditer autant de fois ton template que tu as de section, modifier le css pour correspondre à tes couleurs,

    et dans joomla > administration du site > Templates
    faire ASSIGNER ces différents templates aux items de menu qui t'intéressent.

  8. #8
    Membre éclairé Avatar de guy2004
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    805
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 805
    Par défaut
    donc je suis obligé de faire 1 section par menu ?

  9. #9
    Membre chevronné
    Avatar de opware2000
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 243
    Par défaut
    tu peux te créer un menu masqué (non affiché) où tu créés un item de menu de type section contenu pour chacune de tes sections et après tu t'en sers pour assigner tes templates

  10. #10
    Membre éclairé Avatar de guy2004
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    805
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 805
    Par défaut
    j'ai pas tout compris là !

  11. #11
    Membre émérite Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Par défaut
    Citation Envoyé par guy2004
    donc je suis obligé de faire 1 section par menu ?
    Tu le fais dans tous les cas...

    opware2000 : C'est vrai qu'il est plus simple de faire comme tu as dis. Assigner le template à un item de menu.
    Désolé pour la solution compliquée.
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  12. #12
    Membre éclairé Avatar de guy2004
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    805
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 805
    Par défaut
    Je suis un epu perdu là !
    J'ai mes 3 catgéroeis auxquelles je voudrai assigner un template différent, leur URL ets comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    index.php?option=com_content&task=blogcategory&id=19&Itemid=36
    index.php?option=com_content&task=blogcategory&id=19&Itemid=37
    index.php?option=com_content&task=blogcategory&id=19&Itemid=38
    je m'y prends comment à partir de là ?
    Merci

  13. #13
    Membre émérite Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Par défaut
    C'est pas un probleme de code ou d'url. Tu le fais sur l'interface d'administration.
    Tu coche un template, et puis tu lui assigne un item de menu. [EDIT] Comme te l'a suggéré opware2000 [/EDIT]
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  14. #14
    Membre éclairé Avatar de guy2004
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    805
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 805
    Par défaut
    je vais plutot voir la solution d'opware2000....

  15. #15
    Membre émérite Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Par défaut
    C'est de sa solution dont je parlais...
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  16. #16
    Futur Membre du Club

    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5
    Billets dans le blog
    1
    Par défaut
    Merci pour ces infos Slim et Opware2000

    Et si on veux garder le même template mais avec des variantes pour certaines pages, par exemple afficher tels articles sans certains modules de l'accueil ou positionnés autrement, faut-il pour cela assigner un template dérivé du template d'accueil ?

    Ou peut-on intégrer des boucles conditionnelles dans index.php pour, en fonction de la catégorie, afficher ceci ou cela ?

    Ou y a-t-il une autre solution ?

  17. #17
    Invité de passage
    Inscrit en
    Novembre 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 1
    Par défaut developpement web
    Je suis entrain de créer un site web joomla mobile et j'ai une problème au niveau de comment changer la template car c'est n'est pas la meme template et design pour tous les pages
    Merci d'avance

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/01/2016, 11h41
  2. Réponses: 4
    Dernier message: 15/10/2014, 21h39
  3. Réponses: 13
    Dernier message: 22/07/2005, 15h24
  4. TValueListEditor : Avoir des couleurs différentes par rangée
    Par Griswold dans le forum Composants VCL
    Réponses: 2
    Dernier message: 06/08/2004, 19h41
  5. Comment faire générer du rtf par mon application?
    Par nickylarson dans le forum C++Builder
    Réponses: 3
    Dernier message: 13/08/2003, 09h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo