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

bazooka07bazooka07 Membre
21 nov. modifié dans Plugins

Bonjour,

Le plugin kzChamPlus est le successeur de chamPlus. Ses nouveautés sont

  1. Optimisation du code. Factorisation poussée pour l'injection de code
  2. ajout de champs pour l'édition des articles, pages statiques, catégories et utilisateurs
  3. 3 types de champs : texte, bloc-texte, média
  4. utilisation du gestionnaire de médias. Zoom en cliquant sur l'aperçu du média
  5. placement individuel de chaque champ : en haut, en bas ou sur le côté de la page
  6. gestion des grilles PluCSS pour optimiser la largeur des champs
  7. filtrage puissant des articles pour ajouter ou supprimer des mots-clés et remplir les nouveaux champs dans un tableau
  8. possibilté d'importer la configuration du plugin ChamPlus. Supprimer ce dernier ensuite.
  9. Possibilité d'importer la configuration du plugin ChampArt et de dupliquer ses champs dans les articles pour utilisation avec le plugin kzChamPlus. (Sauvegarde recommandée au préalable)

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

  • 2019-11-21 version 2.2.0 voir billet du jour
  • 2019-11-18 Publication de la version 2.1.0

Réponses

  • cpalocpalo Membre

    Bonjour,

    Merci pour ton travail.

    Je vais donc le tester.. Il a l'air prometteur..

    Cordialement

  • GzygGzyg Membre

    Salut,

    Testé ce matin :)

    Premier constat : l'importation se passe très bien, aucune perte !

    Deuxième constat : à quoi sert le champ supplémentaire "Invite" ?

  • Invite est la valeur de l'attribut placeholder dans la balise <input>

    Pour la grille CSS voir la doc de PluCSS et des exemples dans core/admin/*.php. Des valeurs possibles peuvent être pour 3 champs qui se suivent, par exemple :

    • sml-12 med-12 lrg-6
    • sml-12 med-6 lrg-3
    • sml-12 med-6 lrg-3

    les sommes de sml, med et lrg doivent être des multiples de 12 pour occuper toute la largeur de la page.

  • GzygGzyg Membre
    20 nov. modifié

    OK merci. :)

    et je n'utilise pas PluCSS... ;)


    Sinon, pendant que j'y pense : as-tu prévu un moyen de garder déplié par défaut les champs ajoutés plutôt que d'utiliser le bouton Afficher/Masquer ?

  • 😒 Moi aussi je me passerais bien de PluCSS. 😒

    C'est une antiquité qui utilise encore les "float: left" et qui n'a pas encore découvert les "display: flex" et "display: grid" autrement plus puissants.

    Mais PluXml se traine cela comme un boulet dans son back-office. Conséquence: la mise en page est très...très rigide.

    Pour le pliage des bloc-textes, je me suis inspité du chapô des articles. Cela se déplie automatiquement si le contenu n'est pas vide.

  • cpalocpalo Membre

    Je n'utilise pas non plus PluCss.

    Et là j'ai fini de mettre à jour mon mini framework perso avec entre autre Css Grid-Layout; Je finis l'intégration dans pluxml version 5.8 pour un theme par défaut utilisant css grid-layout. Cela ne devrait plus tarder pour que je le partage...

    Alors je vais peut être accélerer.

  • P3terP3ter Responsable de PluXml

    On s'éloigne du sujet de cette conversation, mais un passage à grid-layout fait partir des choses que j'ai en tête pour PluCSS v2 et PluXml v6.

  • cpalocpalo Membre

    Bonjour,

    Tu as raison.. sourires.; revenons à nos moutons.

    Je viens de l'installer.. pas de soucis... je vais donc tester un peu plus.

    Petites précisions...

    • Emplacement c'est bien pour l'emplacement du champ de saisie dans le panneau d'administration?
    • J'ai créé un bloc-texte avec pied-article. Il s'affiche bien en-dessous de l'article lors de la saisie avec le lien afficher. Mais en cliquant sur le lien cela n'ouvre pas le placeholder pour la saisie du contenu du champ
    • la colonne groupe, je suppose que c'est pour regrouper plusieurs champs. Mais dans l'administration ou sur la page web?

    Sinon agréable l'apparence de l'interface.

    Cordialement

  • Petite mise à jour:

    • Lorsque le plugin n'est pas encore activé, on peut ajouter des champs à la volée dans le panneau de config
    • controle de la saisie pour la colonne "grille CSS" pour être conforme à PluCSS
    • ajustement de min-width dans <th> pour le tableau du panneau de config
    • prise en compte de l'attribut placeholder pour la balise <textarea>. Voir kzChamPlus::printArea()

    Version 2.2.0

  • bazooka07bazooka07 Membre
    21 nov. modifié

    Ok pour emplacement

    pour le placeholder dans <textarea>, plxUtils::textArea() ne le prend pas en compte et est bogué. J'ai donc ajouté une fonction au plugin pour corriger ce problème :

    public function printArea($name, $value='', $cols=false, $rows=false, $readonly=false,
         $class=false, $extras = false
    ) {
        $attrs = array(
            'id="id_' . $name . '"',
            'name="' . $name . '"'
        );
        if(!empty($cols) and is_integer($cols)) { $attrs[] = 'cols="' . $cols . '"'; }
        if(!empty($rows) and is_integer($rows)) { $attrs[] = 'rows="' . $rows . '"'; }
        $classList = array();    if($readonly === true) { $classList[] = 'readonly'; }
        if(!empty($class) and is_string($class) and strlen(trim($class)) > 0) {
            $classList[] = trim($class);
        }
        if(!empty($classList)) { $attrs[] = 'class="' . implode(' ', $classList) . '"'; }
        if(is_string($extras)) { $attrs[] = $extras; }
        echo '';
    }
    

    Pour le groupe, cela m'avait été demandé pour chamPlus mais je ne me rappelle plus la raison.

    L'intérêt n'est pas trop évident et c'est compliqué à gérer. Je verrai plus tard.

  • GzygGzyg Membre

    Hello :)

    Problème sur un PluXml tout neuf : je ne peux enregistrer que deux champs supplémentaires !

    Le dernier champ enregistré prend sytématiquement la place de l'avant-dernier quelque soit le choix de l'emplacement (pied, tête, article, page).

    ¿ Que pasa ?

  • Salut,

    Tu as la version 2.2.0 du plugin ?

    Il y a un bug avec la version précèdente quand le plugin n'est pas activé.


  • GzygGzyg Membre

    Ha, non... j'étais resté sur la 2.1... je refais l'install et je reviens te dire. :)

  • GzygGzyg Membre

    Bon, ben ça ne change rien : seulement deux nouveaux champs possibles. :(

    (testé sur trois PluXml plus ou moins avancés dans leur configuration - tous en 5.7 :

    • un vierge
    • un sans plugin
    • un complet

    même résultat.

    Peut-être la config de mon apache ? À quel niveau ?

  • Non, je ne pense pas que Apache soit en cause. Cela vient plus de PHP ou de Javascript.

    Je travaille avec Ubuntu 18.04 LTS à jour et avec ceci

    • PluXml version 5.7 (encodage UTF-8)
    • Version de PHP : 7.2.24-0ubuntu0.18.04.1
    • Apache/2.4.29 (Ubuntu)
    • Firefox Browser 70.0.1 64bits

    Donne moi ta config.

    Tu peux regarder les logs d'erreur de Apache et dans la console javascript de ton navigateur.

    Je vais faire des essais sous Debian et Chrome.

  • Pas de souci avec Chrome

    Version 78.0.3904.108 (Build officiel) Built on Ubuntu , running on Ubuntu 18.04 (64 bits)

    Petites remarques :

    • Je règle la config quand le plugin est désactivé
    • on peut trier les champs une fois qu'ils sont créés avc la souris comme pour les catégories
    • Je ne renseigne pas les libellés. Le plugin le fait tout seul s'ils sont vides. On peut le corriger ensuite.
  • Pas de souci avec Debian :

    • PluXml version 5.7 (encodage UTF-8)
    • Version de PHP : 7.3.11-1~deb10u1
    • Apache/2.4.38 (Debian)
    • Firefox Quantum
    • 68.2.0esr (64bits)
  • GzygGzyg Membre

    Donc c'est un bug de mon cerveau... et là, ça va être plus compliqué à corriger ! :D

  • Si je n'arrive pas à reproduire le bug, cela sera difficile de l'éliminer.

    Tu as bien cliqué sur le bouton "ajouter un champ" en haut de l'écran ?

  • GzygGzyg Membre

    Oui, j'ai appliqué la même procédure qu'avec le dernier plugin chamPlus qui fonctionnait bien (au moins me permettait-il plusieurs champs).

    Je vais investiguer de mon côté mais je ne sais pas trop par où commencer...

    Est-ce que le plugin "enregistre" ou peut "enregistrer" chaque étape de sa procédure pour voir à quel moment il décide de remplacer un champ existant par le tout dernier créé ?

  • Le plugin ne remplace pas un champ existant sauf si tu le renommes dans le panneau de config.

    Tu peux jeter un œil dans le fichier data/configuration/plugins/kzChamPlus.xml

    • T'es sous Windows ?
    • Quelle version de PHP as-tu ?
    • As-tu activé le plugin ?
  • GzygGzyg Membre

    C'est pourtant ce qui se passe visuellement dans la partie admin -> configuration du plugin : j'enregistre deux champs, tout va bien, le troisième est bien créé et remplace le deuxième. Systématiquement.

    Je suis sous Linux (openSUSE) avec PHP 7.2.5.

    Plugin activé, oui.

  • GzygGzyg Membre

    Quelques captures d'écran :

    premier screen : plugin activé

    deuxième screen : deux champ créés

    troisième screen : création du troisième

    quatrième screen : résultat après enregistrement

    cinquième screen : contenu du fichier data/configuration/plugins/kzChamPlus.xml




  • bazooka07bazooka07 Membre
    24 nov. modifié

    Aïe! J'ai testé brièvement Opensuse il y a longtemps. Et je ne connais pas trop son gestionnaire de paquets

    Peux-tu refaire ton essai en modifiant le fichier plugins/kzChamPlus/config.php comme ci-dessous, avec la ligne error_log et suivantes, pour enregistrer dans le fichier data/articles/kzChamPlus.log ce qu'envoie le formulaire

    if(filter_has_var(INPUT_POST, 'name')) {
       error_log(
           date('Y-m-d H:i') . PHP_EOL . '$_POST = ' . print_r($_POST, true),
           3,
           PLX_ROOT . $plxAdmin->aConf['racine_articles'] . $plugin . '.log'
       );
       $reqs = array();
    

    Et donne moi le contenu du fichier kzChamPlus.log à la fin

    Tu utilises quoi comme navigateur ?

  • GzygGzyg Membre

    J'utilise essentiellement Firefox (68.2.0esr) mais c'est pareil avec Chromium, Opera et Vivaldi.


    Le résultat du fichier log :


    2019-11-24 23:17
    $_POST = Array
    (
       [token] => 224c1d29ebfc12c6ae1a4d6550e5861e787f41be
       [name] => Array
           (
               [2] => articledisclaimer
               [1] => articlesubtitle
           )
    
       [label] => Array
           (
               [2] => Avant-propos pour cet article
               [1] => Sous-titre pour cet article
           )
    
       [entry] => Array
           (
               [2] => 1
               [1] => 3
           )
    
       [order] => Array
           (
               [2] => 
               [1] => 2
           )
    
       [place] => Array
           (
               [2] => 3
               [1] => 2
           )
    
       [invite] => Array
           (
               [2] => 
               [1] => 
           )
    
       [grid] => Array
           (
               [2] => 
               [1] => 
           )
    
       [group] => Array
           (
               [2] => 
               [1] => 
           )
    
    )
    


  • GzygGzyg Membre

    Bon, c'est bien chez moi que ça ne va pas, d'autres plugins sont également capricieux. :)

    Désolé pour le dérangement.

  • Bonjour,

    J'ai installé sur une partition du disque dur de mon PC Opensuse Leap 1.5 en début de semaine. Puis PluXml avec le plugin kzChamPlus. Aucun souci d'utilsation par localhost ou par l'interface en réseau local.

    Par contre, j'ai essayé une installation sur un Raspberry Pi en mode headless dans un terminal. Si les fichiers PHP étaient bien interprétés et envoyés correctement, les fichiers CSS et Javascript étaient envoyés vides avec un code 200. Je n'a pas trouvé pourquoi. Mais j'ai laissé tombé car je ne connais pas très bien Opensuse et que le Raspberry était lent comparé à un Rock64.

    Vérifie la taille des fichiers CSS et Javascript avec l'inspecteur de code de ton navigateur dans l'onglet réseau.

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