Appel aux classes Joomla! 4

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

  • #31
    Quelqu'un aurait-il une idée de la manière de remplacer JHTMLsliders, deprecated mais sans aucune instruction pour son alternative dans les docs que j'ai trouvées ?
    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

    Commentaire


    • #32
      Bonjour,

      As-tu essayé de regarder du côté de JHtmlSidebar ? c'est ce qui semble ressembler le plus à JHtmlSliders.

      Pascal
      If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

      Commentaire


      • #33
        Non Pascal, je n'ai pas regardé, mais JHTMLsliders affiche le contenu de la partie "droits" dans la page du composant concernée.(je verrai si je peux mettre ici une copie d'écran plus tard)
        Pour le moment, je suis bloqué sur une erreur dans l'administration dont je n'arrive pas à trouver la localisation de la requête à corriger !
        Unknown column 'jte.id' in 'order clause'
        Je viens d'explorer tous les fichiers contenant "jte.id" dans une clause order et supprimé ces termes pour tests, mais chaque fois, la suppression n'a eu aucun effet, le message d'erreur persiste...
        "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
        MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

        Commentaire


        • #34
          Moi j'ai toujours pas réussi à enregistrer les tables.

          Quelqu'un aurait-il une idée de la manière de remplacer JHTMLsliders
          Dans mes précédent essai, (ancienne version de J4 Dev) j'avais modifier l'affichage.

          exemple dans :

          administrator ==> joaktree ==> views ==> jtapplication ==> tmpl ==> form.php

          j'avais supprimer les lignes correspondantes pour ne pas avoir l'affichage par onglet.

          Commentaire


          • #35
            Pour les tables, c'est $version et $new_version qui font planter leur création dans le fichier de script.
            J'ai utilisé :
            Code PHP:
            $version $parent->getManifest()->version
            Pour jte.id, c'est cette ligne de models/jt_applications qui le récupère je ne sais où, au lieu d'utiliser la valeur par défaut japp.id
            $filter_order = $app->getUserStateFromRequest( $context.'filter_order', 'filter_order', 'japp.id', 'cmd' );
            Mais une fois corrigé, le bouton "nouveau" sur le haut de page des sources gedcom est inopérant.
            Dernière édition par RobertG à 20/11/2017, 19h12
            "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
            MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

            Commentaire


            • #36
              Rien à faire, les tables ne se créent pas

              Commentaire


              • #37
                Si tu veux les créer, il faut probablement réinstaller après avoir désinstallé.
                "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                Commentaire


                • #38
                  Rien à faire. Extension désinstallée puis réinstallé, toujours pas de tables créés.

                  Seul les fichiers sont copier et le menu créé.

                  Voila les modifs effectués dans joaktree.script.php

                  Code:
                  //$version = (string) JInstaller::getInstance()->getManifest()->version;
                  $version = $parent->getManifest()->version;
                  Code:
                  $db->setQuery( $query );
                  //$db->query();
                  $db->execute();
                  Code:
                  //$new_version = (string) JInstaller::getInstance()->getManifest()->version;
                  $new_version = $parent->getManifest()->version;
                  Code:
                  $db->setQuery( $query );
                   //$db->query();
                   $db->execute()
                  ;

                  Ai je oublié quelque chose, ou fait une erreur ?

                  Commentaire


                  • #39
                    C'est avec les mêmes modifications que les tables ont été créées.
                    Il faudrait que je crée un nouveau site pour d'autres tests.

                    Après test, je reviens sur ce que j'ai dit : c'est lorsque j'ai forcé une version (2.0.0) que ça a fonctionné pour les créations de tables, ce qui veut dire que
                    $version = $parent->getManifest()->version;
                    ne renvoie pas de valeur correcte, reste à comprendre pourquoi.
                    Dans mon XML de base, j'ai mis une version 2.0.0
                    <version>2.0.0</version>
                    Dernière édition par RobertG à 21/11/2017, 11h15
                    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                    MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                    Commentaire


                    • #40
                      Grrr !
                      Lorsque j'essaie de récupérer les valeurs de $version ou $new_version avec var_dump ou enqueueMessage, rien ne m'est renvoyé.
                      En repartant de zéro, j'ai finalement réussi à confirmer que
                      $version = $parent->get('manifest')->version;
                      renvoie une valeur nulle !
                      Call to a member function get() on null
                      Il manque donc manifestement une instruction quelque part pour que la récupération de cette valeur dans le fichier manifeste se fasse.
                      "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                      MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                      Commentaire


                      • #41
                        tu as bien joaktree.xml dans administrator ==> components ==> com_joaktree ?

                        Commentaire


                        • #42
                          Que se fut laborieux, mais j'y suis arrivé.

                          Alors faut revenir un peu en arrière.

                          Code:
                          // New installation
                          $version = (string) JInstaller::getInstance()->getManifest()->version;
                           //$version = $parent->getManifest()->version;
                          Code:
                          // upgrade
                          $new_version = (string) JInstaller::getInstance()->getManifest()->version;
                          //$new_version = $parent->getManifest()->version;
                          et dans le fichier joaktree.xml

                          Code:
                          <version>1.5.3</version>
                          impératif.

                          Commentaire


                          • #43
                            Quelques remarques:

                            En cas de désinstallation du composant, les fichier sont bien supprimés, mais certaine table de la base de données non.

                            Du coup, en cas de réinstallation, les tables ne sont sont pas créées (probablement parce que l'installation détecte les précédente tables, même si elles sont incomplètes).

                            il faut donc nettoyer manuellement la bdd.

                            Ensuite toutes les vues sont accéssible, mais les boutons "enregistrer" et "enregistrer et fermer" ne fonctionne pas.

                            Commentaire


                            • #44
                              Merci d'avoir trouvé cette solution !
                              Par contre, je ne comprends pas pourquoi il est impératif que la version soit 1.5.3 (en dehors du fait que c'est la version la plus récente gérée actuellement au niveau de la création, en cas de première installation, ou de mise à jour pour les ajouts/modifications au niveau des tables).
                              Pour la désinstallation, il est fort possible que la liste des tables soit incomplète, pour expliquer que certaines soient conservées.

                              Pour les boutons, je l'ai aussi constaté et en comparant le code avec la page des contacts par exemple, au lieu de "apply", j'ai trouvé "contact.apply" et donc imaginé qu'il faudrait peut-être utiliser "joaktree.apply", mais ayant eu d'uatres erreurs, je ne m'y suis pas arrêté.
                              Bref, il y a du boulot en perspective !

                              Ce serait bien aussi que les développeurs ne se contentent pas de nous signaler qu'une fonction est devenue obsolète voire inutilisable, mais nous disent par quoi la remplacer...

                              Edit : problème, ce code pour récupérer la version est celui de la version précédente, pour Joomla! 3, et a planté la première fois que j'ai tenté l'installation. Je vais réessayer...
                              Dernière édition par RobertG à 21/11/2017, 16h42
                              "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                              MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                              Commentaire


                              • #45
                                Bien, après de nouveaux essais, je confirme que tes lignes pour la récupération de la version sont correctes sous PHP 7.0, je ne sais pas pourquoi elles ne fonctionnaient pas lors de mon premier essai (sous PHP 7.1).
                                Pour les tables, Niels avait prévu d'en conserver, voir la dernière ligne de message dans le code. mais en fait, il y en a 6 qui restent lors de mes tests... #__joaktree_citations est conservée alors que c'est la première listée à supprimer.
                                J'ai eu une erreur de désinstallation, malgré l'ajout d'un return true à la fin de la fonction de désinstallation (après enqueueMessage) et une modifications des $application->enqueueMessage par JFactory::getApplication()->enqueueMessage
                                A la fin de la désinstallation :
                                Return value of Joomla\CMS\Installer\Adapter\ComponentAdapter::fin aliseUninstall() must be of the type boolean, null returned
                                La désinstallation se fait bien, en dehors de cette table "citations" et de ce message, mais le composant reste présent dans la liste des extensions (je n'ai pas encore cherché pourquoi, mais c'est peut-être à cause de cette erreur).
                                Fonctionnement identique sous PHP 7.1
                                "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
                                MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

                                Commentaire

                                Annonce

                                Réduire
                                Aucune annonce pour le moment.

                                Partenaire de l'association

                                Réduire

                                Hébergeur Web PlanetHoster
                                Travaille ...
                                X