[Résolu] Undefined variable $homelink

cpalocpalo Member
19 juin modifié dans Entraide

Bonjour,
Ce qui fonctionne séparément lorsque je modifie le menu par defaut

if (($_SERVER['QUERY_STRING'] =='') and  $plxMotor->mode == 'static' ) {
    $homeLink = '';
}
else { // = pas de page statique en accueil !
    $homeLink = $plxShow->getLang('HOME');
}
$plxShow->staticList(
        $homeLink,
        '<li class="#static_class #static_status" id="#static_id"><a href="#static_url" 
                 title="#static_name">#static_name</a></li>'
);                      

Ou modification des intitulés du menu

ob_start();       
$plxShow->staticList($homelink,'<li class="#static_class #static_status" id="#static_id"><a href="#static_url" title="#static_name">#static_name</a></li>'.PHP_EOL,
         '<button class="dropdown-button" href="#">#group_name</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;

Ce qui ne fonctionne pas, c'est quand je veux obtenir les deux résultats ensemble.
J'ai le message suivant "Fatal error :
type : 2
message : Undefined variable $homelink"

Réponses

  • 18 juin modifié

    Bonjour,

    j'aurai plutôt fait comme ceci ne intégrant la variable et sa condition dans le buffer (si c'est bien un buffer).:

        ob_start();
            $homelink = $plxShow->lang('HOME');
            if (($_SERVER['QUERY_STRING'] =='') and  $plxMotor->mode == 'static' ) {
                $homelink = '';
            }
            $plxShow->staticList($homelink,'<li class="#static_class #static_status" id="#static_id"><a href="#static_url" title="#static_name">#static_name</a></li>'.PHP_EOL,
                '<button class="dropdown-button" href="#">#group_name</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;
    


    Cordialement,
    gcyrillus , simple membre du forum et utilisateur de pluxml

    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

    Je viens de tester ton code mais j'ai le même message d'erreur.

  • tu as bien modifié $plxShow->getLang en $plxShow->lang ?


    Cordialement,
    gcyrillus , simple membre du forum et utilisateur de pluxml

    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 , mais le meme message

  • cpalocpalo Member

    Ci-dessous le code qui fonctionne sans utiliser la variable homelink.
    C'est pour mes menus lorsque je n'utilise pas ton plugin substatic.

    ob_start();                         
    if (($_SERVER['QUERY_STRING'] =='') and  $plxMotor->mode == 'static' ) {
        $plxShow->staticList(
            '',
            '<li class="#static_class #static_status" id="#static_id"><a href="#static_url" title="#static_name">#static_name</a></li>'.PHP_EOL,
            '<button class="dropdown-button" href="#">#group_name</button>'
        ); 
    }
    else { // = pas de page statique en accueil !
        $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="dropdown-button" href="#">#group_name</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;
    
    
  • Bonjour,

    je n'ai pas de réponses car avec le thème par défaut et le fichier header réecrit comme ceci:

    <!DOCTYPE html>
    <html lang="<?php $plxShow->defaultLang() ?>">
        <head>
            <meta charset="<?php $plxShow->charset('min'); ?>">
            <meta name="viewport" content="width=device-width, user-scalable=yes, initial-scale=1.0">
            <title><?php $plxShow->pageTitle(); ?></title>
            <?php
                $plxShow->meta('description');
                $plxShow->meta('keywords');
                $plxShow->meta('author');
            ?>
            <link rel="icon" href="<?php $plxShow->template(); ?>/img/favicon.png" />
            <link rel="stylesheet" href="<?php $plxShow->template(); ?>/css/plucss.css?v=1.3.1" media="screen,print"/>
            <link rel="stylesheet" href="<?php $plxShow->template(); ?>/css/theme.css?v=<?php echo PLX_VERSION ?>" media="screen"/>
            <?php
                $plxShow->templateCss();
                $plxShow->pluginsCss();
            ?>
            <link rel="alternate" type="application/rss+xml" title="<?php $plxShow->lang('ARTICLES_RSS_FEEDS') ?>" href="<?php $plxShow->urlPostsRssFeed($plxShow->plxMotor->mode) ?>" />
            <link rel="alternate" type="application/rss+xml" title="<?php $plxShow->lang('COMMENTS_RSS_FEEDS') ?>" href="<?php $plxShow->urlRewrite('feed.php?rss/commentaires') ?>" />
        </head>
    
        <body id="top" class="page mode-<?php $plxShow->mode(true) ?>">
    
            <header class="header">
    
                <div class="container">
    
                    <div class="grid">
    
                        <div class="col sml-6 med-5 lrg-4">
    
                            <div class="logo">
                                <h1 class="no-margin heading-small"><?php $plxShow->mainTitle('link'); ?></h1>
                                <h2 class="h5 no-margin"><?php $plxShow->subTitle(); ?></h2>
                            </div>
    
                        </div>
    
                        <div class="col sml-6 med-7 lrg-8">
    
                            <nav class="nav">
    
                                <div class="responsive-menu">
                                    <label for="menu"></label>
                                    <input type="checkbox" id="menu">
                                    <ul class="menu">
                                        <?php                                       
                                            ob_start();   
                                            $homeLink = $plxShow->getLang('HOME');
                                            if (($_SERVER['QUERY_STRING'] =='') and  $plxMotor->mode == 'static' ) {
                                                $homeLink ='';
                                            }
                                            $plxShow->staticList(
                                            $homeLink,
                                            '<li class="#static_class #static_status" id="#static_id"><a href="#static_url" title="#static_name">#static_name</a></li>'.PHP_EOL,
                                            '<button class="dropdown-button" href="#">#group_name</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;
                                        ?>
                                        <?php $plxShow->pageBlog('<li class="#page_class #page_status" id="#page_id"><a href="#page_url" title="#page_name">#page_name</a></li>'); ?>
                                    </ul>
                                </div>
    
                            </nav>
    
                        </div>
    
                    </div>
    
                    </div>
    
                </header>
    
                <div class="bg"></div>
    

    je n'ai pas de message d'erreur et tout fonctionne. !?


    Cordialement,
    gcyrillus , simple membre du forum et utilisateur de pluxml

    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

    Je reteste ceci car c'est exactement le code que j'ai....

  • cpalocpalo Member

    Je viens de tester.; c'est OK.
    Une erreur de virgule ou point-virgule ou accolade?
    l'essentiel c'est ok
    C'est quand meme un peu plus propre avec une variable.
    merci

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