Kzcontact et emplacement dans le menu

ThatooThatoo Member

Bonjour,

Dans mon menu j'ai
$plxShow->staticList
et
$plxShow->catList

le menu "Contact" de kzcontact s'affiche bien en deuxième ou troisième position dans le menu, au sein des pages statiques. Cependant, si j'augmente sa position à 5 pour qu'il se place en dernier, après les catégories (j'en ai deux), il reste avant.

Comment puis-je faire pour que le menu "Contact" se positionne en dernier?

Merci pour votre aide.

Réponses

  • ThatooThatoo Member
    juillet 2020 modifié

    J'imagine que tout ce joue dans ces quelques lignes de code mais je ne sais pas comment les modifier pour que ça fonctionne comme je le souhaite, pour que Contact se glisse dans le menu après les catégories et non après les pages statiques.

        /**
         * Affiche une option pour le formulaire de contact dans le menu de navigation.
         * */
        public function plxShowStaticListEnd() {
    
            if(!empty(self::getParam('mnuDisplay'))) {
                # ajout au menu pour accéder à la page de contact
                $form = self::getParam('content');
                echo '<?php' . PHP_EOL;
    ?>
        $href = $this->plxMotor->urlRewrite('?<?= $form ?>');
        $class = ($this->plxMotor->mode=='<?= $form ?>') ? 'active':'noactive';
        $pattern = <<< PATTERN
    <li class="static menu $class"><a href="$href"><?= addslashes(self::getParam('mnuName')) ?></a></li>
    PATTERN;
        array_splice($menus, <?= intval(self::getParam('mnuPos')) - 1 ?>, 0, $pattern);
    <?php
            echo PHP_EOL . '?>';
            }
        }
    
  • ThatooThatoo Member
    juillet 2020 modifié

    En fait, j'ai simplement dit au plugin de ne pas afficher contact et dans le header.php de mon thème, j'ajoute

    <li class="static menu $class"><a href="index.php?contact">Contact</a></li>
    

    Comment faire pour que $class prenne la valeur "active" ou "noactive" selon le statut sachant que $class est définit dans la fonction plxShowStaticListEnd() du plugin Kzcontact. Puis-je l'appeler avec quelque chose comme

    <?php $plxPlugin->callHook()->plxShowStaticListEnd()->$class; ?>
    

    ou bien puis-je, dans header.php, donner à $class sa valeur en fonction si href est actif ou non? Existe-t-il une fonction pour ça?

  • ThatooThatoo Member
    juillet 2020 modifié

    J'ai trouvé cette solution certes pas optimale car il faut être sûr de index.php?contact mais sinon, ça fonctionne.

                                <?php $class="noactive";
                                if ($plxMotor->path_url == "index.php?contact") {
                                    $class="active";
                                } ?>
    
Connectez-vous ou Inscrivez-vous pour répondre.