[plugin] mySubStatic

2

Réponses

  • octobre 2023 modifié

    bonsoir,

    alors ...

    $output = str_replace('home         ', ob_get_clean().'', $output);/* ?? d'où vient cette chaine ? */    
    

    Pour ne pas afficher le lien vers la page d'accueil ?

    Non, c'est une chaine avec 'home + 1espace + 1 tabulation' derrière qui apparait tout en fin de document sans que j'en ai encore trouvé la cause, idem dans le sitemap, mais probablement du a un télescopage avec un autre plugin ou script. Je ne l'ai pas encore identifié.

    J'obtiens juste une petite erreur sur la classe de cette page d'accueil

    <li class="static menu-item-item noactive" id="static-home">
    
    

    C'est amusant :),
    je n'ai pas réussi à reproduire le défaut, peut-être as tu zappée une " dans @li class="menu"@ ?


    Pour finir de nettoyer tes class menu , j'ai ajouté quelques lignes (les deux premières) et passé tout ça dans un tableau pour faciliter et mieux visualisé les remplacés/remplacements .
    Regardes si cela te convient, fonctionne.

                echo self::BEGIN_CODE;
                ?>  
                $replace = [
                   '@li class="menu menu-item@'             => 'li class="menu-item',
                   '@li class="menu menu-item active@'      => 'li class="menu-item active',
                   '@li class="static menu@'                => 'li class="static menu-item',
                   '@li class="menu"@'                      => 'li class="menu-item has-children"', // doublon
                   '@menu-item menu-item@'                  => 'menu-item',
                   '</body>'                                => '<script src="'.PLX_ROOT.'plugins/<?= __CLASS__ ?>/js/<?= __CLASS__ ?>.js"></script>'.PHP_EOL.'</body>' // injection du script 
                ];
    
                $output = preg_replace(array_keys( $replace ), array_values( $replace ), $output);
                <?php
                    echo self::END_CODE;
    


    Cordialement,
    gcyrillus

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • cpalocpalo Member
    octobre 2023 modifié
    Parse error: syntax error, unexpected token "public" in F:\htdocs\myPluXml\plugins\mySubStatic\mySubStatic.php on line 218
    

    Par contre si on utilise pas de tableau, ce message d'erreur disparait.
    Petit bug : dans le submenu de second niveau, le smodifs ne sont pas prises en compte.

  • Bonjour,
    Je reviens dessus en fin de journée.
    En attendant , voici ce que j'ai de mon coté : https://github.com/gcyrillus/mySubStatic/tree/patch-1-palo
    Cdt


    Cordialement,
    gcyrillus

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • Bonjour,
    Merci pour le patch que je viens d'installer sans problème ce patch.
    J'ai mis à jour le site de demo , ainsi tu pourras voir le code généré.
    Petit "bug" : les pages statiques générées par un plugin ou la page accueil, ainsi que les li enfants de sub-menu sub-menu conservent la classe static.
    Cette classe static est aussi affectée au span group.
    Conserver cette classe static uniquement à ce span ?
    Cordialement

  • octobre 2023 modifié

    Bonsoir,

    Petit "bug" : les pages statiques générées par un plugin ou la page accueil, ainsi que les li enfants de sub-menu sub-menu conservent la classe static.

    Effectivement, les autres en sont privés . En désactivant le plugin, tous les balises <li>et <span >de tête de groupe du menu des pages statiques embarquent cette classe, elles devraient logiquement garder cette class. Je l'ai enlevé en ajoutant la class menu-item. Je viens de la remettre pour la retro compatibilité, ... et la retirer dans la version patchée-palo ;) (patch à jour sur 2 fichiers).

    info: class static retirée avec la clé/valeur : '@class="static @' => 'class="', si jamais tu voulais gardé cette class sur tous les éléments, retire la ;)

    Merci pour tout tes retours, je crois que l'on arrive doucement à un plugin fini (en partant d'une astuce, c'etait pas forcement gagné), peut-être mettre dans la configuration avec un onglet mode avancé la possibilité d'editer le tableau passé dans la fonction preg_replace() ? . Qu'en penses tu?

    cdt


    Cordialement,
    gcyrillus

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • Bonsoir,
    On arrive tout doucement à un véritable ajout à PluXml , quant à la gestion des menus.
    Effectivement pour ceux qui veulent mettre un peu la main dans le cambouis ou avoir besoin de modifier le nom des classes, ce mode avancé serait super.
    Je complete ton plugin avec des styles "avancés" mais je suis tombé sur un petit bug dans ma finalisation;; pas grave en soi mais enervant car je ne trouve pas l'origine.. et je partage un premier thème ( le theme par défaut "modernisé")..
    Cordialement

  • novembre 2023 modifié

    Bonjour,
    Alors c'est quoi ce petit bug qui t'agace?
    Attention, le js embarqué s'appuie sur des class du menu, possible que tu en enlèves une utile?

    Où peut-on voir ton thème modernisé ?

    Je vais voir à ajouté un mode avancé dans la configuration et tester à l'occasion la mise en place d'un wizard s'affichant à l'activation du plugin pour aider à la configuration pas à pas.
    Si ce test est concluant, je l'integrerais probablement aux autres plugins que je propose.


    Cordialement,
    gcyrillus

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • cpalocpalo Member
    novembre 2023 modifié

    Bonjour,
    Le petit bug?
    Lorsque je suis sur un pluxml de base, a-priori aucun souci.
    Avec certaines de mes versions de personnalisation, l'icone de submenu en version horizontale est deformée et parfois problème de visibilité du menu ouvert.
    Mais cet apm j'aurai trouvé!!
    Où voir mon thème personnalisé?
    /plusimplexml.fr mais je vais le mettre en maintenance.
    Et sinon pour les tests toujourshttps://mypluxml.cahue.net Je le mets à jour dès que j'ai réglé ce petit bug

  • Okay merci pour ces liens et ton suivi :)

    Je vient de mettre en ligne la version avec l'idée du Wizard, Dernière branche : https://github.com/gcyrillus/mySubStatic/tree/V.2.0 .
    @cpalo , Ce n'est pas ta version patchée.

    La prochaine étape, sauf remonté de bogues, c'est la config avancée pour que tout le monde ai la même version du plugin.


    Cordialement,
    gcyrillus

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • novembre 2023 modifié

    @cpalo Voici la version avec le mode avancé, https://github.com/gcyrillus/mySubStatic/tree/V.2.5

    Tu peut y reporté le tableau de tes besoins perso dans la configuration . Il y a un bouton de remise à zéro si ça part en vrille ;)

    V3 avec une interface de gestion des pages statiques plus claire : https://github.com/gcyrillus/mySubStatic/tree/V.3.0

    La prochaine maj sera surement le remplacement pure et simple de la pages statiques.php de l'administration. Si vous avez des idées ou exemples d'interfaces pour l’édition des statiques, groupe et sous groupes de statique au lieu du tableau actuel , c'est bienvenu.


    Cordialement,
    gcyrillus

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • Petite mise à jour à l'occasion de test sur la 5.9.0 rc-1 :
    test d'abord si il y a des substatics de configuré avant de toucher au menu.


    Cordialement,
    gcyrillus

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • cpalocpalo Member

    Bonjour,
    Quelques problèmes dont de santé (sans gravité) m'ont retardé dans mes développements.
    Au second niveau j'arrive bien à obtenir
    <li class="menu-item has-children">
    par le biais de:
    @li class="menu menu-item has-children> @ ==>li class="menu-item has-children
    Par contre je n'arrive pas à modifier le niveau 3
    @li class="static menu-item has-children> @ ==>
    Pour une demo :mypluxml-5.8.9.cahue.net
    Cordialement

  • 13 mars modifié

    Bonjour, bonsoir,
    ça va être plus compliqué, comme ça je vois pas trop comment ciblée seulement celles-ci à partir du mode avancée tel que cela fonctionne.

    A priori les ul de 3eme niveau ont une class sub-menu mais pas d'id, si c'est pour les styler, le selecteur ul:not([id]).sub-menu li.static.menu-item{} devrait t'ouvrir une piste si je ne dis pas de bétises.
    Cdt

    @cpalo, peut tu me rappeler quelle archive tu utilises et me copier/coller le contenu de mySubStatic.xml que tu as dans data/configuration/plugins/ ? et aussi quel version de PluXml tu utilises , si cela à une incidence.

    Cdt


    Cordialement,
    gcyrillus

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • cpalocpalo Member
    13 mars modifié

    Bonsoir,
    Version PluXml 5.8.9
    Version du plugin: V.3.0 du 30 decembre 2023

    <?xml version='1.0' encoding='UTF-8'?>
    <document>
        <parameter name="format" type="cdata"><![CDATA[<li class="#static_class #static_status" id="#static_id"><a href="#static_url" title="#static_name">#static_name</a></li>]]></parameter>
        <parameter name="format_group" type="cdata"><![CDATA[<span class="#group_class #group_status">#group_name</span>]]></parameter>
        <parameter name="breadcrumbs" type="numeric">0</parameter>
        <parameter name="interlink" type="numeric">0</parameter>
        <parameter name="expert" type="cdata"><![CDATA[{"@li class=\"static menu@":"li class=\"static menu-item","@li class=\"menu\"@":"li class=\"menu menu-item has-children\"","@menu-item menu-item@":"menu-item","@li class=\"menu menu-item has-children\"@":"li class=\"menu-item has-children\""}]]></parameter>
    </document>
    
    Ce n'est pas sur l'ul du 3° niveau que j'ai le souci mais avec le li parent de ce 3° niveau
    <li class="menu-item has-children">
            <span class="static group noactive">SubStatic</span>
            <ul id="static-substatic" class="sub-menu">
                <li class="static menu-item noactive" id="static-18"><a href="https://mypluxml-5.8.9.cahue.net/index.php?static18/menu-item-2-1" title="Menu-Item-2.1">Menu-Item-2.1</a></li>       
                <li class="static menu-item noactive" id="static-24"><a href="https://mypluxml-5.8.9.cahue.net/index.php?static24/menu-item-2-2" title="Menu-Item-2.2">Menu-Item-2.2</a>
                     <span class="static group noactive">SubMenu-2.2</span>
                     <ul class="sub-menu">
    
  • 14 mars modifié

    Bonjour,

    Merci des infos !

    Si je comprend, c'est la class has-children qui manquerait?
    Je pense les injecter à la création des listes. Les regex devaient servir à modifier les class pour coller à des styles ou script de l'utilisateur. La class has-children , si présente par défaut, ne devrait pas gêner.
    Je regarde cela cet après-midi ou ce soir.
    Bonne journée


    Cordialement,
    gcyrillus

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • cpalocpalo Member

    Oui c'est bien cette classe qui manque sur le 3° niveau.
    Je suis absent qq jours je testerai quand je rentrerai.
    Mon template HTML CSS de menu 3 niveaux clicquable en pure CSS est fini et je suis à l'étape de l'intégrer à pluxml.
    Cordialement

  • 18 mars modifié

    Bonsoir

    Voici la version 3.0.1 https://github.com/gcyrillus/mySubStatic qui injecte directement les class "has-children"
    Je ne sais pas si c'est une bonne idée de garder la boite "configuration avancée" ça ne parles pas à grand monde, ce n'est pas limiter au menu des statiques mais peut toucher n'importe quelle partie des codes de la page.

    je l'ai testé dans une 5.8.9 ./ php 8.2.6

    @cpalo Il te faut mettre à jour la config avançée pour les lignes qui concernent la class has-children, elles sont, dans cette version, inutiles.


    Cordialement,
    gcyrillus

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • cpalocpalo Member

    Bonsoir,
    Super cette maj....la structure souhaitée est obtenue et permet de personnaliser le css.
    Personnellement je pense qu'il faut conserver la boite "configuration avancée"; elle peut permettre de répondre à un besoin particulier.
    Il me reste donc de l'intégrer à mon template et à partager( entre autre de remplacer le span par un button).
    Très cordialement

  • cpalocpalo Member
    21 mars modifié

    Pour modifier les span en button et y ajouter une classe, le mieux est-il de le faire dans la configuration avancée ou directement dans le code du plugin?
    Oups!!
    j'avais oublié que sur cette page de configuration il y avait aussi la possibilité de modifier les formats de liste et de tête de liste par défaut

  • cpalocpalo Member
    22 mars modifié

    Bonjour,
    Petite précisions. Si il n'y a pas de groupe pluxml (level2) ou de sous-groupe (mySubStatic level3) , que se passe-t-il si le plugin est activé?
    Dans site.css il y a des styles liés à #mySubStatic; dans le thème il est donc nécessaire de les styler également?
    (ligne 47, il manque une fermeture de parenthese).

    Passage de la 3.0.0 à la 3.0.1
    Avant (3.0.0)

    <li class="static menu-item active" id="static-home"><a href="http://127.0.0.1/..../" title="Accueil">Accueil</a></li>
    <li class="menu-item has-children">
    

    Après (3.0.1)

    <li class="static menu-item mySubStatic menu-item active" id="static-home"><a href="https://..." title="Accueil">Accueil</a></li>                   
    <li class="menu has-children">
    

    Il me semblait que le plugin permettait aussi que si on était sur la page d'accueil, le lien vars la page d'accueil n'apparaissait pas (staticList.php). Mais sinon je reprendrai mon script.
    Cordialement

  • 22 mars modifié

    Bonjour,

    Petite précisions. Si il n'y a pas de groupe pluxml (level2) ou de sous-groupe (mySubStatic level3) , que se passe-t-il si le plugin est activé?

    il ne devraient y avoir aucune incidences. Le plugin n'a rien à modifier et la feuille de style pas grand chose à styler, le js non plus.

    Il me semblait que le plugin permettait aussi que si on était sur la page d'accueil, le lien vars la page d'accueil n'apparaissait pas

    on avait évoqué ce filtrage effectivement https://forum.pluxml.org/discussion/comment/64438/#Comment_64438 , mais ce n'est pas pris en charge par le plugin, c'est par contre devenu un comportement natif dans la version rcx en dev ;)

    j'ai remis à jour le repo de la 3.0.1 (nettoyage du fichier CSS) et mise à jour des regex pour bien nettoyer et uniformisé les class.
    Après mise à jour des fichiers du plugins, il suffit de réinitialisé la boite "configuration avancée" . Si tu as ajouté des filtres/regex perso, il faudra les remettre à la main .

    cdt,
    j'ai hate de voir ton thème


    Cordialement,
    gcyrillus

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • cpalocpalo Member

    Bonjour,
    Dernier petit problème à régler : A la place du span j'utilise un bouton;
    soit

    <li class="menu-item has-children">
        <button class="dropdown-button">
            <span>Texte du sous-menu</span>
            <span class="arrow-down"></span>
        </button>
        <ul class="sub-menu">
    

    soit avec une icone

    <li class="menu-item has-children">
        <button class="dropdown-button">
            <span>Texte du sous-menu</span>
            <span class="dropdown-icon"><i class="bx bx-chevron-down"></i></span>
        </button>
        <ul class="sub-menu">
    

    Dans mon menu de base (pluxml level2) pas de souci, mais pour le menu substatic(level3) cela ne fonctionne pas. A quel endroit doit-on faire la modification ( span --> button)?

  • 25 mars modifié

    Bonjour,
    je regarde dans la soirée pour que la config du plugin prenne le pas sur les variables de la fonction staticList() qui se trouve dans le thème ou celles par défaut.

    @cpalo
    le repo github vient d’être mis à jour, version 3.0.2 :) https://github.com/gcyrillus/mySubStatic https://ressources.pluxopolis.net/banque-plugins/plugins/mySubStatic-3.0.2.zip

    Il y a encore quelque défauts mineures que je crois que tu n'as pas encore vus. Si tu les rencontres , dis moi ;)


    Cordialement,
    gcyrillus

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • @cpalo
    passage en 3.0.3 pour éviter un des défauts mineures que tu ne sembles pas avoir encore repéré ;)


    Cordialement,
    gcyrillus

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • cpalocpalo Member

    Bonjour,
    Je vais regardé cela.
    J'ai bien avancé sur mon integration.
    Petit bug qui retarde la publication, mais qui n'est pas lié à ton plugin mais à mon template.
    Et sinon peut etre que ta mise à jour m'aidera pour un dernier détail... la possibilité de ne ne faire apparaitre que le button ( ou le span).
    Je pense que demain matin j'aurai fini.
    Cordialement

  • Pas sur de comprendre, si tu ne veut faire apparaitre que les sous groupe sans leur page statique de premier niveau,
    tu peut faire

        .sub-menu .has-children > a {
          display: none;
        }
    

    en perdant cette statique(seulement son lien) , mais qui restera dans le sitemap et le code source.


    Cordialement,
    gcyrillus

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • cpalocpalo Member

    Bonjour,
    Mon template fonctionne mais l'intégration à ton plugin est plus difficile que je ne pensais.
    la classe #mySubStatic s'applique sur quel élément Html? Ou est-ce un élément Html ajouté par cette versioon du plugin?

  • 27 mars modifié

    C'est la pagination entre pages statiques de même groupe et même niveau. C'est une option configurable, comme le fil d'ariane.

    Nouvelle mise à jour pour la 5.9.0-rc7 https://github.com/gcyrillus/mySubStatic/archive/refs/heads/3.0.4.zip / https://ressources.pluxopolis.net/banque-plugins/plugins/mySubStatic-3.0.4.zip


    Cordialement,
    gcyrillus

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • cpalocpalo Member

    Bonjour,
    Mon template fonctionne ( css focus-within et pas de js).
    Si je ne veux utiliser que mes styles, je modifie tes mySubStatic.js et css en effaçant leur contenu? où il y a un autre endroit également à modifier?

  • 28 mars modifié

    le fichier mySubStatic.js recherche li span.static Si tu utilises un <button> à la place du span dans "Format tête de liste:" , il n'aura rien à se mettre sous la dent et n'aura donc aucune incidences.

    Pour la partie des styles de #mysubstatic, dans la boite "configuration avancée", il te suffit d'ajouter la régle @id="mySubStatic"@ et rien en face ou modifier la valeur de id pour une autre. Le selecteur #mysubstatic n'aura plus rien à styler non plus.

    Il y a aussi l'option d’éditer la feuille de style CSS du plugin depuis le lien /core/admin/parametres_plugincss.php?p=mySubStatic depuis l'admin à l'onglet [Plugins] et de retirer manuellement les sélecteurs et règles que tu ne veut pas , celle contenant le span sont à priori aussi inutiles si tu utilises des boutons à la place

    Cdt


    Cordialement,
    gcyrillus

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

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