Question

Comme vous le devinerez je suis nouveau à php. Merci de votre aide. J'ai ce morceau de code dans un tpl d'en-tête:

<div class="menu">
            <ul>                                                                         
                <li class="selected"><a href="#">home</a></li>
                <li><a href="#">carta</a></li>
                <li><a href="#">delicias artesanas</a></li>
                <li><a href="#">contacto</a></li>
                <li><a href="#">d&oacute;nde estamos</a></li>
            </ul>
        </div>

que je voudrais appeler avec la fonction PHP include. La chose est, je veux appeler cette tpl, ce qui indique que l'un des de li aura la classe « choisie » appliquée, comment puis-je faire? Comme je vous l'ai dit, peasy facile pour tout le monde avec une expérience de base de PHP. Je vous remercie.

Était-ce utile?

La solution

Vous pouvez baser hors d'une variable qui est définie dans votre logique d'appel (non-modèle). Par exemple, dans Smarty, vous pouvez le faire en PHP:

// Determine which section user is in and pass to tpl
$smarty->assign('location', 'home');

Ensuite, dans votre modèle, vous pouvez vérifier cette variable simplement:

<li{if $location eq 'home'} class="selected"{/if}><a href="#">home</a></li>
<li{if $location eq 'carta'} class="selected"{/if}><a href="#">carta</a></li>

Le garde HTML de votre logique biz (PHP) et dans votre logique d'affichage (tpl).

Autres conseils

faire une fonction pour cela:

function menu($selected = null) {
    echo '<ul class="menu">';
    $options = array('home', 'carta', 'delicias artesanas', 'contact', 'd&oacute;nde estamos');
    foreach ($options as $li) {
        echo '<li' . ($li == $selected ? ' class="selected"' : '').'><a href="#">'.$li.'</a></li>'."\n";
    }
    echo '</ul>';
}

et puis juste l'appeler plus tard:

menu('d&oacute;nde estamos');
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top