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

124»

Réponses

  • 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

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

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    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 PluXml Lead Developer, Moderator

    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 PluXml Lead Developer, Moderator

    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 PluXml Lead Developer, Moderator
    mai 2021 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 PluXml Lead Developer, Moderator
    mai 2021 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 PluXml Lead Developer, Moderator
    mai 2021 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

  • MAPC2012MAPC2012 Member
    février 2023 modifié

    Lors de l'enregistrement d'un article - ne sauvegarde pas les données...
    Tous les champs sont configurés correctement.
    PluXml 5.8.9
    PHP 7.1 - 8.1
    Open Server

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Bonjour,
    J'ai fait un test sur une installation neuve de PluXml 5.8.9 avec :
    Apache 2.4.52 + PHP 8.1.2-1ubuntu2.10 (Ubuntu)
    NginX 1.18.0 + PHP-FPM 8.2.1 (Debian)
    NginX 1.18.0 + PHP-FPM 7.4.33 (Debian)

    Aucun problème. Dans un articles, les champs supplémentaires sont bien sauvegardés.

    Vérifie le contenu du fichier data/configuration/plugins/kzChamPlus.xml
    Et aussi le contenu de l'article

    Il y a peut-être un conflit avec un autre plugin. Parfois, on peut résoudre le problème en modifiant l'ordre des plugins.

    Sinon fais un test sur une installation neuve de PluXml.

    Je ne connais pas ce serveur "Open Server".

  • MAPC2012MAPC2012 Member
    février 2023 modifié

    Écrit dans le fichier xml de l'article:
    Warning: Undefined variable $xml in ...\core\lib\class.plx.admin.php(1304) : eval()'d code on line 8

  • PluXml download on github

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Oups !

    La branche master du repository est la version en cours de développement.
    Je dois modifier le plugin kzChamPlus.

    Pour avoir la version stable de PluXml :
    git clone https://github.com/pluxml/PluXml.git
    git fetch origin
    git checkout v5.8.9

    Pour revenir à la version en cours de développement :
    git checkout master

    Sinon l'archive zip de la dernière version stable de PluXml peut être téléchargée avec le lien suivant :
    https://www.pluxml.org/download/pluxml-latest.zip

  • Je pensais que la version PluXml n'était pas compatible, mais en retard... Dans la version sur githab beaucoup d'outils intéressants, donc Téléchargé) Merci, bazooka07

  • bazooka07bazooka07 PluXml Lead Developer, Moderator

    Pour la version en cours de développement de PluXml, il faut modifier la constante PLX_ADMIN_EDIT_XML_CODE danskzChamPlus comme ceci :

        const PLX_ADMIN_EDIT_XML_CODE = <<< 'EOT'
    $kzValue = trim($#NAME#['#FIELD_NAME#']);
    if(defined('PLX_URL_RESSOURCES')) {
        $caption = plxUtils::cdataCheck($kzValue);
    } else {
        $caption = (!empty($kzValue)) ? '<![CDATA[' . plxUtils::cdataCheck($kzValue) . ']]>' : '';
    }
    if(isset($xml)) {
       $xml .= "\t<#FIELD_NAME#>" . $caption . "</#FIELD_NAME#>" . PHP_EOL;
    } else {
    ?>
        <#FIELD_NAME#><?= $caption ?></#FIELD_NAME#>
    <?php
    }
    EOT;
    

    Et cela marche avec les 2 versions de PluXml.

    P.S.: Pour la version en cours de développement, peux-tu vérifier les traductions russes dans le dossier core/lang/ru.
    Il y a des nouvelles expressions traduites par Google.

  • MAPC2012MAPC2012 Member
    février 2023 modifié

    Merci beaucoup, bazooka 07! Tout fonctionne) seulement /n de quelque part)

  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    février 2023 modifié

    dans kzChamPlus.php, à la ligne n°498, enlève \n à la fin.
    Version 2.6.5

  • TomekTomek Member

    Petite question sur l'insertion de média avec kzChamPlus : est-il possible actuellement de personnaliser d'une manière ou d'une autre l'attribut alt ? Si non, serait-il possible d'en ajouter la possibilité ? Merci !
    J'utilise l'insertion d'image sur des pages statiques, sinon avec les articles c'est plus simple avec la fonction artThumbnail.

  • TomekTomek Member

    Bon, j'ai trouvé un moyen de le faire en utilisant un autre champ pour le alt et en l'intégrant dans le code indiqué dans l'aide.

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