Migration d'une de mes extensions Joomla!1.6 vers 1.7 cahotique mais résolu.

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

  • [RÉGLÉ] Migration d'une de mes extensions Joomla!1.6 vers 1.7 cahotique mais résolu.

    Salut les amis,

    Ma nouvelle extension me pose quelques soucis sur la nouvelle version de Joomla!1.7

    Elle fonctionne très bien avec Joomla!1.6 mais un bouton XTD d'insertion de tag situé sous l'éditeur de texte refuse obstinément d'accomplir la tache qui lui incombe, c'est à dire insérer un tag dans un article.

    Le principe est assez enfantin, le bouton appel une fenêtre modal issus d'un composant très simple qui contiens le code javascript suivant :

    Code PHP:
    <script type="text/javascript"
        function 
    insertelioproallvideoscode(){
            if (
    window.parent) {
                var 
    language=$('elioproallvideos_language').getSelected().get('value');     
                var 
    code=$('elioproallvideos_code').value;
                
    code="}"+code+"{";
                
    window.parent.jelioproallvideos(languagecode);
            }
        }
    </
    script
    Ce code utilise les variables suivantes qu'il est sensé envoyer avec le bon tag dans l’article en fonction de ce que l'utilisateur choisira :

    Code PHP:
    <form onsubmit="return false;" action="#">
        <fieldset id="elioproallvideos_options">
            <legend><?php echo JText::_('COM_ELIOPROALLVIDEOS_TITRE'?></legend>
            <label for="elioproallvideos_language">Player</label>
            <select name="elioproallvideos_language" id="elioproallvideos_language">
                <optgroup label="<?php echo JText::_('COM_ELIOPROALLVIDEOS_PUBLIC'?>">
                   <option value="eliobrutis">Abrutis</option>
                   <option value="megaelio">Megavideo</option>
                   <option value="eliowat">Wat.Tv</option>
                   <option value="elioyoutube">Youtube</option>
                   <option value="eliodailymotion">Dailymotion</option>
                   <option value="eliovimeo">Vimeo</option>
                   <option value="eliometacafe">Metacafe</option>

                  etc ... etc ......... (Très longue liste de choix ici)
                
               </optgroup>

            </select>
            <div style="float: right">
                <button type="button" onclick="insertelioproallvideoscode();"><?php echo JText::_('COM_ELIOPROALLVIDEOS_INSERER'?></button>
                <button type="button" onclick="window.parent.SqueezeBox.close();"><?php echo JText::_('COM_ELIOPROALLVIDEOS_ANNULER'?></button>
            </div>
        </fieldset>
        <fieldset>
            <legend><?php echo JText::_('COM_ELIOPROALLVIDEOS_ADDCODE'?></legend>
            <textarea name="elioproallvideos_code" id="elioproallvideos_code" rows="10" cols="54"></textarea>
        </fieldset>
        <fieldset>
            <div style="float: right">
                <button type="button" onclick="insertelioproallvideoscode();"><?php echo JText::_('COM_ELIOPROALLVIDEOS_INSERER'?></button>
                <button type="button" onclick="window.parent.SqueezeBox.close();"><?php echo JText::_('COM_ELIOPROALLVIDEOS_ANNULER'?></button>
            </div>
        </fieldset>
    </form>
    Le bouton quand à lui à bien ouvert la fenêtre modal, puis il est sensé récupérer le code et faire son job mais ne le fait pas dans Joomla!1.7

    Voici le code de récupération du bouton : (fonctionnel sous Joomla!1.6)

    Code PHP:
            $js "
            function jelioproallvideos(language,code) {
                var tag = '{'+language+''+code+'/'+language+'}';
                jInsertEditorText(tag, '"
    .$name."');
                SqueezeBox.close();
            }"

    Je pense que le problème est dans la façon d'écrire mon javascript car pour rappel cette extension fonctionne sans problèmes avec Joomla!1.6

    Sur la fenêtre modal il y a 2 boutons, l'un "insérer" et l'autre "Annuler".

    Le bouton "annuler" fonctionne très bien avec la commande SqueezeBox.close(); en revanche c'est le bouton "insérer" jInsertEditorText(tag, '".$name."'); qui me pose problème probablement, d’où ma suspicion sur le code javascript qui ne dois pas être "strict Joomla!1.7".

    Merci de vos lumières par avance.
    Dernière édition par felichon à 31/10/2011, 14h33 Raison: Je ferme ce sujet, solutions trouvés par moi-même.

  • #2
    Piste possible ...

    J'ai trouvé ceci comme indice sur les modifications apporté à Joomla! quand à la prise en charge du Javascript ici :

    Javascript

    Certains changement ont été apportés à la gestion du javascript.

    Le premier est le passage de Mootools 1.11 à Mootools 1.2.4. Changement que vous avez déjà pu préparer car les dernières versions de Joomla! 1.5 ont déjà la possibilité de tourner sous Mootools 1.2.4 grâce au plugin d'upgrade de Mootools.

    Outre Mootools, les fonctions d'envoi des formulaires ont été modifiées et vous ne pourrez plus vous servir de la fonction "submitbutton"(pressbutton) pour exécuter une action lors de l'envoi du formulaire.

    L'équivalent pour Joomla! 1.6 est :

    Joomla.submitbutton = function(task) {...}

    Ainsi, un code standard de validation sous Joomla! 1.5 :

    function submitbutton(pressbutton) {
    if (pressbutton == 'cancel' || document.formvalidator.isValid(document.adminForm )) {
    submitform( pressbutton );
    }
    }

    sera maintenant écrit :

    Joomla.submitbutton = function(task)
    {
    if (task == 'user.cancel' || document.formvalidator.isValid(document.id('user-form'))) {
    Joomla.submitform(task, document.getElementById('user-form'));
    }
    }
    Comment adapter cette nouvelle donne dans mon cas ?

    Merci.
    Dernière édition par felichon à 29/07/2011, 20h19

    Commentaire


    • #3
      Solution trouvé.

      Salut,

      je ferme le sujet, j'ai résolu le problème moi-même à force de chercher.

      Pour ceux que ça intéresse, voici la solutions que j'ai trouvé, ça marche à 100 % :

      Code PHP:
      <script type="text/javascript">
          function 
      insertelioproallvideoslecteur(){
               if (
      window.parent){
                  var 
      videodocument.getElementById("elioproallvideos_tag").value;
                  var 
      lecteurdocument.getElementById("elioproallvideos_lecteur").value;
                  
      lecteur="}"+lecteur+"{";
                  
      window.parent.jelioproallvideos(video,lecteur);
               }
          }
      </
      script
      Le code n'est plus le même n'y les tags, mais j'ai modifié mon plugin ce qui explique les changements.

      Tiens, pour la peine je vais m’applaudir moi même.

      @ +++
      Dernière édition par felichon à 31/10/2011, 14h31

      Commentaire


      • #4
        Re : Migration d'une de mes extensions Joomla!1.6 vers 1.7 cahotique mais résolu.

        je comprends rien mais bravo!
        est ce que tu sais ou je peux trouver de la doc pour modifier une extension 1.5 vers1.7 ?
        aidons nous les uns les autres ...

        https://www.web54.fr

        Commentaire


        • #5
          Re : Migration d'une de mes extensions Joomla!1.6 vers 1.7 cahotique mais résolu.

          Salut,

          Voici un lien pour le développement d'application pour Joomla!1.6 (ce qui est quasiment la même chose que pour Joomla!1.7 à quelque détails prêt)



          En revanche, pour migrer tout un site Joomla!1.5 vers 1.7 il faudra alors t'en remettre a des extensions du type JUpgrade :



          Ou équivalent ...

          @ +++

          Commentaire


          • #6
            Re : Migration d'une de mes extensions Joomla!1.6 vers 1.7 cahotique mais résolu.

            merci,
            non, c'est bien pour tenter de migrer un composant vers 1.7
            je connais un développeur qui n'a pas le temps de migrer son composant, et j'aimerai mettre les mains dans le cambouis.
            oui, je sais, j'ai que ça à faire !! lol
            ma femme va encore me reprocher mes nuits blanches !
            aidons nous les uns les autres ...

            https://www.web54.fr

            Commentaire


            • #7
              Re : Migration d'une de mes extensions Joomla!1.6 vers 1.7 cahotique mais résolu.

              Salut,

              Oui t'a raison, les nuits blanches ça te guette.

              Dis, essaye ce soft, j'en ai entendus le plus grande bien, il peut-déjà te convertir le fichier *.xml de 1.5 vers 1.6 (1.7) en un seul clic, c'est déjà ça de gagné

              Il peu même faire un peu plus d'après ce qu'on m'a dit, voici le lien :



              Sinon pourquoi ne pas créé carrément ton propre composant pour Joomla!1.5, 1.6 et 1.7 simultanément ?

              Oui, c'est possible !

              Il existe aujourd'hui un truc génial pour ça (encore en développement) mais déjà très prometteur, c'est COOK Self Service.



              Si tu connais pas, à essayer d'urgence, j'y suis inscrit c'est génial, même si c'est un peu déroutant au début, il suffit de suivre les tutoriels vidéos !!!

              Je suis certains que si ses gars continuent ainsi sur leur lancée, ce soft deviendra une référence.



              Pour ma part, j'ai enfin fini de coder mon extension pour Joomla!1.7 qui lis les partitions musicales directement dans les articles, la montagne de code que tu vois dans les postes précédents m'a grandement aidé pour avoir une base de travail, le reste c'est un ans à deux de travail pour parachever mon soft musical.



              @ +++
              Dernière édition par felichon à 10/11/2011, 18h38 Raison: Ajout d'une vidéo ...

              Commentaire

              Annonce

              Réduire
              Aucune annonce pour le moment.

              Partenaire de l'association

              Réduire

              Hébergeur Web PlanetHoster
              Travaille ...
              X