Utiliser une variable dans un XML JForm ?

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

  • [RÉGLÉ] Utiliser une variable dans un XML JForm ?

    Bonjour,

    Pour un composant sous J2.5 j'utilise JForm pour la création de partie admin d'un élément en backend. Super pratique pour créer les champs. Par contre je voudrais utiliser un input "ImageList" et il a en paramètre "directory" pour choisir le dossier dont il doit lister les images. Mais je ne peux pas le mettre en dur dans le fichier XML car ce même dossier dépend du choix de l'utilisateur dans les paramètres du composant. Mais impossible de passer du PHP dans le XML...

    Comment faire donc pour passer une variable à ce niveau ?

    Merci
    www.weblogin.fr - Création, Référencement et Design de sites Internet.

  • #2
    Re : Utiliser une variable dans un XML JForm ?

    Bonjour,

    Probablement en créant un form dynamique, qu'on parse une fois chargé en remplacant un tag spécifique, par exemple __MYDIRECTORY__ dans ton cas, pour remplacer cette valeur par le répertoire (fonction str_replace de PHP)

    C'est une solution que je n'ai pas utilisée pour du formulaire, mais pour permettre l'insertion de valeurs variables dans des PDF.
    Pas de demande de support par MP.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

    Commentaire


    • #3
      Re : Utiliser une variable dans un XML JForm ?

      Ben dis-donc tu es toujours là pour moi !

      En fait je ne sais pas comment ou faire ce str replace... c'est là qu'est le soucis. Parce que j'utilise donc le système JForm et je ne sais pas trop ou et quand il est interprété... j'ai du mal a remonter le chemin.
      www.weblogin.fr - Création, Référencement et Design de sites Internet.

      Commentaire


      • #4
        Re : Utiliser une variable dans un XML JForm ?

        Je n'ai pas tenté sur du JForm, mais logiquement, ça devrait fonctionner. Je testerai à l'occasion
        Pas de demande de support par MP.
        S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

        Commentaire


        • #5
          Re : Utiliser une variable dans un XML JForm ?

          Oui mais à quel niveau tu lances ton replace pour qu'il soit bien pris en compte avant que le modèle parce le tout ? Dans le modèle je suppose mais je vois pas trop à quel moment. Je crois comprendre que dans mon modèle c'est cette fonction que parse le XML en form donc sur la variable $Form peut-être en fait (a voir) :
          Code PHP:
          public function getForm($data = array(), $loadData true) {
                  
          $form $this->loadForm('com_avocats.item''item', array('control' => 'jform''load_data' => $loadData));
                  if (empty(
          $form)) {
                      return 
          false;
                  }
                  return 
          $form;
              } 
          www.weblogin.fr - Création, Référencement et Design de sites Internet.

          Commentaire


          • #6
            Re : Utiliser une variable dans un XML JForm ?

            Par exemple:
            Code PHP:
            public function getForm($dir$data = array(), $loadData true) {
                    
            $form str_replace'_MY_DIRECTORY'$dir,  $this->loadForm('com_avocats.item''item', array('control' => 'jform''load_data' => $loadData)) );
                    if (empty(
            $form)) {
                        return 
            false;
                    }
                    return 
            $form;
                } 
            Mais ce n'est qu'une suggestion, en passant $dir à ta méthode getForm..
            Et à toi de remplacer la constante en fonction du formulaire
            Pas de demande de support par MP.
            S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

            Commentaire


            • #7
              Re : Utiliser une variable dans un XML JForm ?

              Arf ! En fait $form est un tableau ca va être plus complexe... pas de str_replace dessus.
              www.weblogin.fr - Création, Référencement et Design de sites Internet.

              Commentaire


              • #8
                Re : Utiliser une variable dans un XML JForm ?

                Pour les tableaux, fais une petite fonction utilisant les fonctions array de PHP. on peut très bien bidouiller les tableaux aussi

                Ref: http://fr2.php.net/manual/fr/ref.array.php
                Pas de demande de support par MP.
                S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                Commentaire


                • #9
                  Re : Utiliser une variable dans un XML JForm ?

                  Ca fait un moment mais je reviens dessus, le soucis est que la valeur retourné dans $form est un protected... pas de possibilité de modifier son contenu... arf
                  www.weblogin.fr - Création, Référencement et Design de sites Internet.

                  Commentaire


                  • #10
                    Re : Utiliser une variable dans un XML JForm ?

                    Alors, en travaillant sur un plugin, j'ai trouvé la solution a ce problème qui m'arrachait la tête, donc la voici pour les autres. Si vous avez une valeur dans un XML d'un formulaire et qu'il faut la modifier par la suite avant de l'afficher, dans mon cas c'était pour changer la valeur "directory" d'un élément de type "media". Dans votre Table, vous devez avoir une fonction "GetForm" à ce niveau vous avez surement un truc du genre :
                    Code PHP:
                    $form $this->loadForm('...''...', array('control' => 'jform''load_data' => $loadData)); 
                    Après ça il faut utiliser la fonction setFieldAttribute, qui permet de manipuler le contenu de votre field. Dans mon cas :
                    Code PHP:
                    $form->setFieldAttribute('img''directory'$params->get('img_folder')); 
                    Ceci bien sur car la valeur du directory ce trouve dans un paramètre de mon composant.

                    Voila je clôture en espérant que cela en aidera d'autre
                    www.weblogin.fr - Création, Référencement et Design de sites Internet.

                    Commentaire

                    Annonce

                    Réduire
                    Aucune annonce pour le moment.

                    Partenaire de l'association

                    Réduire

                    Hébergeur Web PlanetHoster
                    Travaille ...
                    X