[résolu] fonction staticInclude() semble devenue muette depuis la v 5.8.9

décembre 2022 modifié dans Bogues

En bricolant les thèmes, je viens de m'apercevoir que la fonction staticInclude(x); ne renvoie plus rien depuis la version 5.8.9 de PluXml.

tests effectués au travers d'une énième page statique avec le code suivant:

<?php
$plxShow = plxShow::getInstance();
$plxShow->staticInclude(1);
?>

test effectué avec php7+ et php 8+ (apache/win)
test okay dans v 5.8.7 et v 5.8.8
test muet dans v 5.8.9 et v 5.8.10

En regardant de plus prés la fonction, la seule difference se trouve sur une ligne .

depuis la v 5.8.9 qui n'affiche plus rien:

        $plxGlob_stats = plxGlob::getInstance(PLX_ROOT . $this->plxMotor->aConf['racine_statiques'], true, 'statiques');

et antérieur à la v 5.8.9, qui affiche bien la page inclue et interprétée.

        $plxGlob_stats = plxGlob::getInstance(PLX_ROOT . $this->plxMotor->aConf['racine_statiques']);

Cdt

Mon site PluXml: https://re7net.com | Mes plugins : https://github.com/gcyrillus | demos de mes plugin sur free http://gcyrillus.free.fr/new ,
| Thèmes a tester et télécharger @ https://pluxthemes.com Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

Réponses

  • bazooka07bazooka07 PluXml Project Manager

    Le contenu ci-dessous d'une page statique marche avec la version 5.8.10 à venir :

    <p>Test de plxShow::staticInclude()</p>
    <div class="static-include">
    <?php
    $this->staticInclude(3);
    ?>
    </div>
    <p>Fin de test</p>
    

    Dans le contexte d'une page statique, $this correspond à $plxShow.

    C'est la version 5.8.10 du jour. Et elle change presque tous les jours. Donc utiliser "git pull upstream master", en remplaçant éventuellement "upstream" par "origin"
    Le contenu ci-dessus ne fonctionne pas avec la v5.8.9 de PluXml.

    P.S.: IL y a tellement de nouveautés que la prochaine version de PluXml sera plutôt : 5.9.0

  • 13 mars modifié

    @bazooka07

    P.S.: IL y a tellement de nouveautés que la prochaine version de PluXml sera plutôt : 5.9.0

    Merci, et moi qui ne croyais plus au Père Noël

    Bon , en effet ce défaut est réglé avec la dernière 5.8.10 . , je n'avais pas percuté qu'il maqué un champs dans l'appel de la fonction. (rester scotcher sur la fonction glob() de php)

    Solution dans la 5.8.9 , mettre à jour l'appel à la fonction danspublic function staticInclude($id):

                # On génère un nouvel objet plxGlob
                $plxGlob_stats = plxGlob::getInstance(PLX_ROOT . $this->plxMotor->aConf['racine_statiques'], false, true, 'statiques');
    

    Mon site PluXml: https://re7net.com | Mes plugins : https://github.com/gcyrillus | demos de mes plugin sur free http://gcyrillus.free.fr/new ,
    | Thèmes a tester et télécharger @ https://pluxthemes.com Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • Bonjour,
    Je viens de l'installer ( sans les données exemples) et j'ai ce message d'erreur :-1:

    <ul class="author-list unstyled-list">
    <br />
    <b>Fatal error</b>:  Uncaught TypeError: array_walk(): Argument #1 ($array) must be of type array, bool given in F:\htdocs\PluXml-5.8.10\core\lib\class.plx.show.php:2089
    Stack trace:
    #0 F:\htdocs\PluXml-5.8.10\core\lib\class.plx.show.php(2089): array_walk(false, Object(Closure))
    #1 F:\htdocs\PluXml-5.8.10\themes\defaut\sidebar.php(28): plxShow-&gt;authorList()
    #2 F:\htdocs\PluXml-5.8.10\themes\defaut\erreur.php(27): include('F:\\htdocs\\dvpts...')
    #3 F:\htdocs\PluXml-5.8.10\index.php(60): include('F:\\htdocs\\dvpts...')
    #4 {main}
      thrown in <b>F:\htdocs\PluXml-5.8.10\core\lib\class.plx.show.php</b> on line <b>2089</b><br />
    
  • bazooka07bazooka07 PluXml Project Manager

    Bonjour,
    Effectivement, s'il n'y a aucun article, ça plante.

    Dans class.plx.show à la ligne 2078, ajouter le test sur $arts comme suit :

            $arts = $this->plxMotor->plxGlob_arts->query($motif,'art','desc',0,false,'before');
            if(empty($arts)) {
                return;
            }
    
            $nbArts = array();
    

    La logique voudrait que je désactive l'entrée "articles" dans le menu du back-office.
    Je ferai une mise à jour dès que possible.

  • Merci
    Le message d'erreur ne s'affiche plus...

  • En attendant qu'un fil de discussion relative à cette nouvelle version soit créée, petit bogue que je viens de decouvrir.
    Juste après l'installation, paramétrage ---> description Blog ou Cms à l'Xml --> si je modifie cette description,l'apostrophe est remplacée par son entité Html et c'est cette entité qui s'affiche sur le front-end.

  • bazooka07bazooka07 PluXml Project Manager

    Je suis allé un peu plus loin :
    Si aucun article, alors pas d'onglet "articles" et "commentaires" dans le menu back-office.
    Et après authentification on affiche directement la page "nouvel article"

  • Par contre en allant dans parametres.xml, et en corrigeant l'entité html par l'apostrophe la modification est prise en compte.

  • bazooka07bazooka07 PluXml Project Manager

    @cpalo,
    Pour répondre à la problématique que tu soulèves et être compatible avec PHP8.0, j'ai modifié :

    • plxAdmin::editConfiguration() ( filter_var(trim($v), FILTER_SANITIZE_STRING) remplacé par strip_tags )
    • plxUtils::strcheck()

    Pour la description, le titre, et quelques autres, j'ai autorisé quelques balises HTML basiques (<i>, <em>, <a>, <sup>)

    Faire une mise à jour depuis Github (git pull upstream master)

  • Bonjour,
    J'ai rencontré le même problème avec PluXML 5.8.7 (la fonction est utilisée sur un thème personnel pour afficher les menus); le problème était apparent sur 5.8.8 et 5.8.9.
    La modification du fichier (core > lib > class.plx.show.php) a en effet résolu le problème, merci!!!

Connectez-vous ou Inscrivez-vous pour répondre.