Remplacement de classe ?

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

  • Remplacement de classe ?

    Bonjour,

    J'essaie de trouver comment remplacer dans certains fichiers (pour J4 dans l'immédiat) ce code utilisé en J3 :
    Code PHP:
    <?php echo $this->Html'pictures' ]; ?>
    qui me renvoie cette erreur :
    Warning: Undefined property: JoaktreeViewJoaktree::$Html in /home/www/developpement/joaktree2/components/com_joaktree/views/joaktree/tmpl/_pictures.php on line 31
    Je ne trouve pas d'équivalent dans les fichiers standard de J4

    J'ai cherché dans la documentation J4, mais pas trouvé comment je pourrais rendre cette ligne fonctionnelle.
    Pouvez-vous me conseiller ?
    Merci !
    "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

  • #2
    Hello.

    C'est un warning parce que le tableau $Html et son index "pictures" n'a pas été déclaré.

    Il faut déclarer la propriété dans /components/com_jiaktree/views/joaktree/view.html.php pour supprimer le warning

    Par exemple :
    Code PHP:
       class JoaktreeViewJoaktree extends JViewLegacy {
      
      protected 
    $Html = array();
      
      function 
    display($tpl null) {
     ....
    ​ 
    Après que $this->Html[ 'pictures' ]​ ne soit pas defini est plus ennuyeux.
    Cela provient de la méthode showPictures définine en ligne 215 de /components/com_jiaktree/views/joaktree/view.html.php
    Je n'ai pas + approfondi la méthode, peut-être parce que la personne n'a pas d'image définie dans le gedcom.
    Il faudrait que cette méthode initialise $this->Html[ 'pictures' ]

    Sinon il faudrait remplacer dans le template de la vue _pictures.php
    Code PHP:
    <?php echo $this->Html'pictures' ]; ?>  
    par :
    Code PHP:
    <?php
       
    if(is_array($this->Html) && array_key_exists('pictures'$this->Html)){
         echo 
    $this->Html'pictures' ];
      }
    ?>
    Le code de Joaktree n'est pas très "propre" à ce niveau là...
    Dernière édition par roland_d_alsace à 16/07/2024, 13h43
    RobertG aime ceci.
    A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
    Rejoignez le Joomla Users Groupe Alsace...
    roland_d_alsace va-t-il devenir roland_du_grand_est ?

    Commentaire


    • #3
      En mode "je ne cherche pas à comprendre et je fais fi de l'erreur" il y a
      Code:
       echo $this->Html[ 'pictures' ]?? "" ;
      càd que si picture n'est pas déclaré alors on affiche une chaîne vide.
      ​​​​​​C'est bof puisqu'on ne cherche pas à comprendre pourquoi la clef n'existe pas mais cela retire l'erreur.
      Christophe (cavo789)
      Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
      Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

      Commentaire


      • #4
        Merci Roland, en effet, le code est très ancien, comme tu le sais, et il manque de certaines vérifications, mais ce n'est pas le seul, quand on voit même dans Joomla! même des absences de vérification de l'existence ou validité d'une variable.

        Il s'agissait bien de données absentes, et ton code a supprimé les messages d'erreur. J'ai dû le dupliquer pour "lineage" qui apparaissait aussi lorsque l'individu n'avait pas d'autres données que son identité.

        Merci Christophe ! J'ai vu ce type de code quelque part pour gérer la suite en cas d'absence de valeur, il me semble.
        "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