[Résolu] Modifier les classes du menu

cpalocpalo Member
juin 2023 modifié dans Entraide

Bonjour,
Le menu par defaut donne ce resultat :

<ul class="menu">
    <li class="static menu noactive" id="static-13"><a href=""></a></li>
        <li class="menu">
            <span class="static group noactive">Dropdown</span>
            <ul id="static-groupname" class="sub-menu">     
                 <li class="static menu noactive" id="static-12">

Et ce que je souhaiterai:

<ul class="menu">
    <li class="static menu-item noactive" id="static-13"><a href=""></a></li>
        <li class="menu-item has-children">
            <span class="static group noactive">Dropdown</span>
             <ul id="static-groupname" class="sub-menu">        
                 <li class="static menu-item noactive" id="static-12">

Réponses

  • Bonjour,

    tu peut utiliser ce ce code

    <?php
        ob_start();   
            $plxShow->staticList($plxShow->getLang('HOME'),'<li class="#static_class #static_status" id="#static_id"><a href="#static_url" title="#static_name">#static_name</a></li>'); 
        $nav = ob_get_clean();
        $nav =  preg_replace('@li class="static menu@','li class="static menu-item ',$nav);
        $nav =  preg_replace('@li class="menu"@','li class="menu-item has-children"',$nav);
        echo $nav;    
    ?>
    

    Cela te permet de modifier la structure HTML générer par PluXml avant son affichage .
    Voir le post https://forum.pluxml.org/discussion/7366/resolu-plugins-plugin-et-hook-a-partir-dun-theme-sans-passer-par-la-case-installation
    C'est ce que j'utilise par exemple dans le thème "keep it simple" et les deux autres thèmes en bootstrap .

    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

    Bonsoir.
    J'obtiens bien ainsi le résultat souhaité
    Merci

  • cpalocpalo Member

    Suite j'obtiens donc à partir du code ci-dessus

    <li class="menu-item has-children">
        <span class="static group noactive">NameGroup</span>
        <ul id="static-name" class="sub-menu">      
            <li class="static menu-item"  
    

    J'aurai souhaité remplacer la balise span par une balise button class="btn-menu-toggle"

  • août 2023 modifié

    Bonsoir,

    Même procédure, faire un preg_replace() avec la regex qui va bien sur $nav.
    Sur mobile et pas un expert en regex, la comme ça je peut pas te l'écrire.

    Sinon, https://wiki.pluxml.org/docs/develop/plxshow.html#staticlist peut probablement suffire à modifier ton span en button.
    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
    août 2023 modifié

    Le code modié du menu et qui fonctionne apparemment :

    <ul class="menu">                           
        <?php
            ob_start();   
                $plxShow->staticList($plxShow->getLang('HOME'),
                       '<li class="#static_class #static_status" id="#static_id"><a href="#static_url" title="#static_name">#static_name</a></li>'.PHP_EOL,
                       '<button class="btn-dropdown" href="#">#group_name<svg class="icon icon-expand"></svg></button>'); 
            $nav = ob_get_clean();
            $nav =  preg_replace('@li class="static menu@','li class="static menu-item" ',$nav);
            $nav =  preg_replace('@li class="menu"@','li class="menu-item has-children"',$nav);
            echo $nav;    
        ?>                              
    </ul>
    

    Et le résultat obtenu :

    <li class="menu-item has-children">
        <button class="btn-dropdown" href="#">Styles<svg class="icon icon-expand"></svg></button>
        <ul id="static-name-du-groupe" class="sub-menu">        
            <li class="static menu-item" 
    

    La mise à disposition de mon nouveau thème ne devrait plus tarder !!

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