Fichier index + "$this->$params->get()"

Réduire
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] Fichier index + "$this->$params->get()"

    Bonjour,

    J'aimerais savoir dans quel fichier se trouve le bout de code qui permet à la page d'index d'afficher le contenu de "$this->params->get(nomduchamps)".

    Merci par avance

  • #2
    Bonjour,
    et si tu posais plutôt la vraie question ?
    Qu'est-ce que tu veux faire et où ça coince ?
    Schtroumpfe toi le Schtroumpf t'aidera.
    Je ne schtroumpfe pas aux demandes de schtroumpf par MP.

    Commentaire


    • #3
      Au départ, j'en avais besoin pour l'inclure dans la page footer.php, pour afficher le contenu de "$this->params->get(nomduchamps)" mais devant les nombreuses réponses et afin de résoudre un problème de position de calque, j'ai décidé de contourner le problème en créant un calque avec le contenu du footer, directement dans la page d'index.

      Néanmoins, je reste intéressé pour savoir où sont définis l'affichage des éléments du fichier "params.ini" mais également les sqls afin d'en ajouter et de les appeler dans mes pages et modules.

      Merci par avance de vos réponses

      Commentaire


      • #4
        Re,
        déja je ne sais pas si tu parlais du footer.php ou du mod_footer, mais dans les deux cas, il est totalement illogique d'utiliser dans un objet tiers une valeur du params.ini qui est propre à un template donné, et que rien ne garantit de trouver dans un autre template. Donc tu n'as pas contourné le problème, tu as pris la bonne décision .

        Dans un composant, on récupère les paramètres par un
        Code:
        $params = &$mainframe->getParams();
        au niveau du view.html ; si on veut les passer à la couche d'affichage, on l'assigne par
        Code:
        $this->assignRef('params' ,	 $params);
        qui permettra plus loin les fameux $this->params->get().

        En dehors des templates, il ne s'agit pas de params.ini mais de paramètres stockés en base. D'une manière générale, il n'y a aucune raison d'utiliser les paramètres d'une extension X dans une extension Y, sauf si les deux sont indissociables, comme un module associé à un composant.
        Dans ce cas ça se complique à peine :
        Code:
        $params_aussi = &$mainframe->getParams("monextension");
        Maintenant il y a peu de chance que tu puisses utiliser ça dans ton contenu (tu aurais besoin d'un truc comme Jumi pour mettre du php par là).

        Pour le SQL je ne sais pas ce que tu entends par là, mais je crois qu'il serait mieux d'attendre un besoin concret...
        Schtroumpfe toi le Schtroumpf t'aidera.
        Je ne schtroumpfe pas aux demandes de schtroumpf par MP.

        Commentaire


        • #5
          Merci Grand Schtroumpf

          En fait, je veux personnaliser un template que je suis en train de créer. Je voulais modifier mon fichier "montemplate\html\mod_footer\default.php".

          J'ai testé le premier code mais cela ne semble pas fonctionner car j'obtiens le message :

          Fatal error: Call to a member function get() on a non-object in D:\wamp\www\site1\templates\montemplate\html\mod_f ooter\default.php on line 10

          Voici le code que j'ai mis :
          Code PHP:
          <?php 
          // no direct access
          defined('_JEXEC') or die('Restricted access');


          global 
          $mainframe;

          $params = &$mainframe->getParams();

          $ContactEmail $this->params->get('ContactEmail');
          $ContactTel =  $this->params->get('ContactTel');

          ?>

          <div>Contact :  <?php echo $ContactTel ;?> - <a href=="mailto:<?php echo $ContactEmail ?>"><?php echo $ContactEmail ?></a> - <?php echo $lineone?></div>
          En ce qui concerne le SQL, je pense que je vais créer un nouveau post puisque je vais avoir besoin de créer une requête SQL pour construire une page "plan du site".

          Commentaire


          • #6
            humm
            dis moi pourquoi tu t'embetes à passer par de l'override du mod_footer ?
            Tu pourrais simplement mettre tes lignes dans un DIV dans ton fichier index.php du template là où tu veux qu'elles apparaissent.
            Ensuite si tu veux pouvoir piloter le contenu sans éditer le fichier index.php, tu peux mettre des appels aux paramètres du template tout simplement.
            Vive Joomla! http://www.joomlack.fr Tutoriels et extensions pour Joomla!. Livre création de template Joomla de plus de 200 pages.
            http://www.template-creator.com Outil de création de templates
            Module Maximenu CK - Megamenu, multicolonnes, chargement de module, description de lien, deroulement animé - Compatible Virtuemart, Hikashop

            Commentaire


            • #7
              Bonjour,
              tu as mal lu ce que j'ai écrit !!??
              1. le bon endroit pour la modif est là où tu l'as faite, ie dans l'index.php comme le redit ced1870, a fortiori si tu veux récupérer des paramètres du template,
              2. le $params = &$mainframe->getParams(); récupère le jeu de paramètres du module/composant en cours de traitement, donc en l'occurrence celui de mod_footer

              Ce dernier est vide, d'où l'erreur qui suit...
              Schtroumpfe toi le Schtroumpf t'aidera.
              Je ne schtroumpfe pas aux demandes de schtroumpf par MP.

              Commentaire


              • #8
                Bonjour et merci pour vos réponses.

                Envoyé par ced1870
                humm
                dis moi pourquoi tu t'embetes à passer par de l'override du mod_footer ?
                Je pensais qu'il était plus propre de personnaliser ce fichier.

                Envoyé par ced1870
                Tu pourrais simplement mettre tes lignes dans un DIV dans ton fichier index.php du template là où tu veux qu'elles apparaissent.
                Ensuite si tu veux pouvoir piloter le contenu sans éditer le fichier index.php, tu peux mettre des appels aux paramètres du template tout simplement.
                C'est ce que j'ai fait voir plus haut.

                Envoyé par Grand Schtroumpf
                1. le bon endroit pour la modif est là où tu l'as faite, ie dans l'index.php comme le redit ced1870, a fortiori si tu veux récupérer des paramètres du template,
                Je pensais qu'en mettant un fichier default.php dans "\html\mod_footer\". Il faisait parti du template et était celui qui était pris par défaut. Un peu comme la notion d' includes_path (s'il ne trouve pas le chemin, je passe au suivant).

                Envoyé par Grand Schtroumpf
                2. le $params = &$mainframe->getParams(); récupère le jeu de paramètres du module/composant en cours de traitement, donc en l'occurrence celui de mod_footer
                Ce que je veux c'est récupérer le contenu du fichier params.ini (ou tout autre), dans n'importe quelle page.

                Pourquoi c'est si compliqué avec Joomla ?
                Dernière édition par JB_A à 03/01/2010, 12h14

                Commentaire


                • #9
                  Envoyé par JB_A Voir le message
                  Je pensais qu'il était plus propre de personnaliser ce fichier.
                  heu ben non pas à mon avis, au contraire tu alourdis le procédé inutilement en passant par des requêtes.

                  à la fin de ton fichier index.php du template commences par mettre
                  Code HTML:
                  <div><a href="mailto:adresse@tondomaine.com">Nom du contact</a><div>
                  je ne vois pas pourquoi faire plus compliqué. Je pense que tu devrais reprendre ton problème du début doucement en nous expliquant clairement le but de ton truc.
                  Ce n'est pas compliqué avec joomla!, c'est toi qui a l'air de te compliquer la vie
                  Vive Joomla! http://www.joomlack.fr Tutoriels et extensions pour Joomla!. Livre création de template Joomla de plus de 200 pages.
                  http://www.template-creator.com Outil de création de templates
                  Module Maximenu CK - Megamenu, multicolonnes, chargement de module, description de lien, deroulement animé - Compatible Virtuemart, Hikashop

                  Commentaire


                  • #10
                    En fait, je voudrais que le client puisse personnaliser le numéro de tel et l'e-mail en bas de page (et changer les paramêtres) depuis le menu de paramètrage du template. c'est pourquoi j'ai mis ce code et cela marche avec :

                    Code PHP:


                    <div class="pieddepage">Contact :  <?php echo $this->params->get('ContactTel'); ;?> - <a href=="mailto:<?php echo $this->params->get('ContactEmail'?>"><?php echo $this->params->get('ContactEmail'?></a> - Copyright &copy; 2009 <?php echo $mainframe->getCfg('sitename') ;?>. Tous droits r&eacute;serv&eacute;s. </div>
                    J'ai l'habitude de travailler avec des sites que je conçois entièrement et non qui puissent être administré par un utilisateur Lambda. Je trouve pas si simple que cela lorsque l'on veux personnaliser les modèles.

                    Commentaire


                    • #11
                      ah ben voilà, c'était pas compliqué, mais comme tu étais parti dans l'idée du module c'est vrai que c'était pas facile de t'aider. La prochaine fois exprime d'abord clairement le but et comme ça on pourra mieux t'aiguiller.
                      Vive Joomla! http://www.joomlack.fr Tutoriels et extensions pour Joomla!. Livre création de template Joomla de plus de 200 pages.
                      http://www.template-creator.com Outil de création de templates
                      Module Maximenu CK - Megamenu, multicolonnes, chargement de module, description de lien, deroulement animé - Compatible Virtuemart, Hikashop

                      Commentaire


                      • #12
                        Merci de ta réponse.

                        J'avais déposé un autre post mais il semble que personne n'ait la solution. C'est pourquoi, j'ai décidé de contourner le problème en utilisant des calques.

                        De même dans mes précédents sites (réalisés "from scratch"), je les construisais en réalisant le corps de la page dans laquelle j'ajoutais 1 top et 1 bottom. Je pouvais en général y appeler des variables comme je voulais en réalisant une requête sql ou en récupérant des variables placées plus haut (dans le head par exemple).

                        Je pensais que joomla permettait de faire +/- la même chose. Sauf qu'en réalité si tu veux inclure un module ou un composant il faut que les variables soient définies dans celui-ci a priori. Je cherche donc un moyen de pouvoir appeler ces infos pour les pages que je veux créer.

                        Commentaire

                        Annonce

                        Réduire
                        1 sur 2 < >

                        C'est [Réglé] et on n'en parle plus ?

                        A quoi ça sert ?
                        La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                        Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                        Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                        Comment ajouter la mention [Réglé] à votre discussion ?
                        1 - Aller sur votre discussion et éditer votre premier message :


                        2 - Cliquer sur la liste déroulante Préfixe.

                        3 - Choisir le préfixe [Réglé].


                        4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                        2 sur 2 < >

                        Assistance au forum - Outil de publication d'infos de votre site

                        Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                        Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                        Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                        UTILISER À VOS PROPRES RISQUES :
                        L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                        Problèmes connus :
                        FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                        Installation :

                        1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                        Archive zip : https://github.com/AFUJ/FPA/zipball/master

                        2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                        3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                        4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                        5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                        6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                        et remplacer www. votresite .com par votre nom de domaine


                        Exemples:
                        Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                        Télécharger le script fpa-fr.php dans: /public_html/
                        Pour executer le script: http://www..com/fpa-fr.php

                        Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                        Télécharger le script fpa-fr.php dans: /public_html/cms/
                        Pour executer le script: http://www..com/cms/fpa-fr.php

                        En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                        Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                        Voir plus
                        Voir moins
                        Travaille ...
                        X