[Plugin] kzChamPlus: Des champs en plus dans: articles, pages, catégories, users - Gestion mots-clés

124»

Réponses

  • Franck-AWOFranck-AWO Member

    Bonjour @bazooka07 ,

    La page plugin.php?p=kzChamPlus n'affiche "Aucun article". Voici un lien vers un screenshot (l'upload d'image failed dans ce présent post...) : https://80hg.org/ajouter-des-champs-dans-les-articles-avec-kzchamplus-251-sur-pluxml-586.html

    Il y a bien des champs supplémentaires dans les articles qui s'affichent bien en frontend avec par exemple dans themes/xxx/home.php :
    <?php echo $plxShow->plxMotor->plxRecord_arts->f(kzChamPlus::PREFIX . 'temps'); ?>
    Visible ici : https://80hg.org

    La Console web et le Debogeur Javascript ne disent rien de particulier et je ne vois pas où trouver plus d'infos de débogage :-/

    Config :

    • même comportement pour Firefox 78.10.0esr (64 bits) et Chromium Version 90.0.4430.93
    • PluXml version 5.8.6 (encodage UTF-8)
    • Version de PHP : 7.4.8

    Par où puis-je continuer de creuser / rapporter plus d'infos ?
    Merci d'avance

  • Franck-AWOFranck-AWO Member

    Pour info, j'ai testé avec PluXml v6, même comportement ("Aucun article").

  • bazooka07bazooka07 Member

    Bonjour,

    Publication version 2.6.0 du plugin

    • diverses corrections,
    • nouveau champ type oui/non
    • M. à j. linguistiques

    Testé avec PluXml 2.8.6

    Télécharger la dernière version de ce fabuleux plugin

    @Franck-Awo,
    Bonjour,
    Peut-être la dernière version corrige ton problème.

  • Merci pour l'attention @bazooka07.
    Malheureusement, le problème reste le même : "Aucun article" :-/
    Config :

    • même comportement pour Firefox 78.10.0esr (64 bits) et Chromium Version 90.0.4430.93
    • PluXml version 5.8.2 (encodage UTF-8) <-- finalement retour à cette version
    • Version de PHP : 7.4.8
      Quel test / log pourrais-je rapporter pour avancer ?
  • bazooka07bazooka07 Member

    Peux-tu :

    • faire une copie d'écran du panneau de config du plugin
    • faire une copie d'écran du tableau de catégories
    • Si possible dans php.ini mettre "display_errors = On" et "log_errors = On". Si ton serveur est en local. Sinon pas sûr que tu es les droits requis chez ton hébergeur
    • Voir éventuellement les logs d'erreurs sur le serveur Apache

    J'ai fait un essai sous php 8.0 - PluXml-58.6 sans souci.

    P.S.: Tu as une vieille version de Firefox. Sous Ubuntu 20.04 LTS on est à la version 88.0.

  • Merci pour les indications pour pister la solution.

    Mêmes essais et mêmes résultats avec :

    • Chrome Version 90.0.4430.212 (Build officiel) (64 bits)
    • Firefox 88.0.1 (64 bits)

    Ajouté dans php.ini chez mon hébergeur :

    • "display_errors = On"
    • "log_errors = On"
      Rien de flagrant à mon œil.

    Copies d'écrans du panneau de config du plugin et du tableau des catégories ici :

    Dans les logs d'erreurs sur le serveur Apache :

    • [Tue May 11 06:29:31.702241 2021] [fcgid:warn] [pid 3793163:tid 140290568464128] [client 92.184.98.125:0] mod_fcgid: stderr: PHP Warning: count(): Parameter must be an array or an object that implements Countable in /home/wishnoo/sites/80hg.org/www/htdocs/plugins/kzChamPlus/admin.php on line 357, referer: https://80hg.org/core/admin/parametres_plugins.php
    • [Tue May 11 06:39:40.694096 2021] [fcgid:warn] [pid 3793163:tid 140290702681856] [client 92.184.98.125:0] mod_fcgid: stderr: PHP Warning: count(): Parameter must be an array or an object that implements Countable in /home/wishnoo/sites/80hg.org/www/htdocs/plugins/kzChamPlus/admin.php on line 357, referer: https://80hg.org/core/admin/parametres_plugin.php?p=kzChamPlus
    • [Tue May 11 06:39:45.043589 2021] [fcgid:warn] [pid 3793163:tid 140290593642240] [client 92.184.98.125:0] mod_fcgid: stderr: PHP Warning: count(): Parameter must be an array or an object that implements Countable in /home/wishnoo/sites/80hg.org/www/htdocs/plugins/kzChamPlus/admin.php on line 357, referer: https://80hg.org/core/admin/plugin.php?p=kzChamPlus
    • [Tue May 11 06:39:53.802003 2021] [fcgid:warn] [pid 3793163:tid 140295475803904] [client 92.184.98.125:0] mod_fcgid: stderr: PHP Warning: count(): Parameter must be an array or an object that implements Countable in /home/wishnoo/sites/80hg.org/www/htdocs/plugins/kzChamPlus/admin.php on line 357, referer: https://80hg.org/core/admin/plugin.php?p=kzChamPlus
    • [Tue May 11 06:39:57.592833 2021] [fcgid:warn] [pid 3793163:tid 140288773179136] [client 92.184.98.125:0] mod_fcgid: stderr: PHP Warning: count(): Parameter must be an array or an object that implements Countable in /home/wishnoo/sites/80hg.org/www/htdocs/plugins/kzChamPlus/admin.php on line 357, referer: https://80hg.org/core/admin/plugin.php?p=kzChamPlus
    • ...
    • [Tue May 11 06:52:35.005311 2021] [fcgid:info] [pid 3793162:tid 140295629784192] mod_fcgid: process /usr/bin/env(3803363) exit(idle timeout), terminated by calling exit(), return code: 0
    • [Tue May 11 06:54:36.484906 2021] [fcgid:warn] [pid 3793163:tid 140294997649152] [client 80.215.138.64:0] mod_fcgid: stderr: PHP Warning: count(): Parameter must be an array or an object that implements Countable in /home/wishnoo/sites/80hg.org/www/htdocs/plugins/kzChamPlus/admin.php on line 357, referer: https://80hg.org/core/admin/article.php?a=0095
    • [Tue May 11 06:54:41.106383 2021] [fcgid:info] [pid 3793162:tid 140295629784192] mod_fcgid: process /usr/bin/env(3905335) exit(idle timeout), terminated by calling exit(), return code: 0
    • [Tue May 11 06:55:59.098998 2021] [fcgid:warn] [pid 3793163:tid 140294007801600] [client 80.215.138.64:0] mod_fcgid: stderr: PHP Warning: count(): Parameter must be an array or an object that implements Countable in /home/wishnoo/sites/80hg.org/www/htdocs/plugins/kzChamPlus/admin.php on line 357, referer: https://80hg.org/core/admin/auth.php?p=/core/admin/plugin.php?p=kzChamPlus

    Ca te parle certainement ?

  • bazooka07bazooka07 Member

    Bonjour,

    Sur la copie d'écran du panneau d'admin du plugin, la ligne filtre fichiers articles n'est pas correcte.
    Elle devrait ressembler à ceci :

    Filtre fichiers article : @^_?\d{4}\.(?:draft,)?\d{3}(,\d{3})*\.\d{3}\.\d{12}\..*\.xml$@
    

    Reste à savoir comment arrive cette ligne incorrecte.
    La valeur de "publié jusqu'au" semble poser problème. J'ai l'habitude de laisser la valeur proposée par le plugin soit une valeur vide.

    Il faut que je me replonge dans le code car cela fait un moment que j'ai écrit ce plugin.

    Il serait intéressant d'avoir le listing des noms de fichiers articles.

    Je ne sais pas si on peut faire un copier/coller d'image dans ce forum.
    L'éditeur du forum comprend le markdown. Pour insérer un lien vers une image, faire :

    ![Copie écran panneau admin](https://80hg.org/data/medias/screenshot_2021-05-11_80hgorg_administration-tableau_champs-suppl_kzchamplus.png)
    

    Copie écran panneau admin

  • bazooka07bazooka07 Member
    11 mai modifié

    Oups, petite erreur.

    La ligne pur filtrer les articles est tout à fait correcte.
    On filtre les articles dont la date de publication commence par 20, plus petite valeur commune à 2000 et 2021.
    Le problème est ailleurs.

    A voir la liste des fichiers articles.

    cd data/articles
    ls -1 *.xml > ../../articles.txt
    

    Voir le fichier à la racine du site
    ou dans un navigateur :
    https://80hg.org/articles.txt

  • Ca y est :
    https://80hg.org/articles.txt

    (vu pour insérer un lien vers une image dans le forum)

  • bazooka07bazooka07 Member
    11 mai modifié

    @Franck-AWO ,

    Super !
    Par habitude, je ne mets jamais/rarement d'articles dans la catégorie "page d'accueil" (home dans le nom des fichiers articles). Et donc je n'ai jamais trop fait de test pour ce cas là.

    La version 2.6.3 du plugin corrigera ce problème.
    Tu devrais pouvoir afficher les articles selon les différents critères.

  • bazooka07bazooka07 Member
    11 mai modifié

    Version 2.6.3 du plugin avec les corrections suivantes :

    • Gestion des articles classés entre autres dans la catégorie home (page d'accueil) dans la page d'administration du plugin
    • Diverses correction pour la création de l'expression régulière (regexp) qui filtre les articles dans la page d'administration
    • Refacto code PHP dans admin.php (<php echo, c'est mal ! <= c'est mieux)
    • corrections linguistiques mineures

    Télécharger la dernière version du plugin

    Remarque importante
    PHP gère très bien les champs de saisie dans des tableaux multi-dimensionnels dans un formulaire.
    Les noms des champs dans un formulaire comme ci-dessous est tout à fait légal :

    <form method="post">
        <label>
                <span>Entrée 1</span>
                <input type="text" name="user[001][name]" required />
            </label>
        <input type="submit" />
    </form>
    

    HTML ignore que la valeur de name ressemble à une cellule de tableau. Pour lui c'est une valeur ordinaire.
    C'est PHP qui va considérer que la variable $_POST['user'] est un tableau à 2 dimensions.
    Sauf que PluXml ne gère que les tableaux à une dimension dans la fonction plxUtils::unSlash() qui est appelée dans le fichier "core/admin/prepend.php".

    Pour éviter une erreur avec le plugin, il convient de modifier la fonction unSlash() dans le fichier core/lib/class.plx.utils.php comme suit :

        public static function unSlash($content) {
    
             # On traite un tableau
            if(is_array($content)) {
                $new_content = array();
                foreach($content as $k=>$v) { # On parcourt le tableau
                    if(is_array($v)) {
                        $new_content[$k] = array();
                        foreach($v as $key=>$val)
                            # $new_content[$k][$key] = stripslashes($val);
                            $new_content[$k][$key] = self::unSlash($val);
                    } else {
                        $new_content[$k] = stripslashes($v);
                    }
                }
                return $new_content;
            }
    
            # On traite une chaine
            return stripslashes($content);
        }
    

    On utilise la récursivité de la fonction.
    La modification a déjà été faite dans la version 6.0 de PluXml

  • Et ça maaaarche !! La claaaasss

    Je ne comprends pas toutes tes explications (code php tout ça) mais merci pour le support technique le debugage et toutes ces améliorations.

    Donc je confirme que c'est un plugin de ouf pardon, qui pourrait devrait être intégré au core, nan ?

    Quoi qu'il en soit, super ! je vais maintenant pouvoir m'intéresser aux plugins qui proposent une gestion centralisée des tags... ah mais, en plus kzChamPlus gère aussi les taaaags woa mais c'est magnifiiiique ;)

    Tant que j'y suis, mes humbles suggestions :

    • pour kzChamPlus : ajout d'un bouton pour réinitialiser les filtres
    • pour https://kazimentou.fr/repo/ : harmonisation des contenus des champs Auteur: Date: Site: - ce point là je peux même m'en charger en retour de service et pour satisfaire ma tendance "au cordeau" ;-)

    Merci encore @bazooka07 et bonne journée

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