Frage

Wie Sie erraten werden, bin ich neu in PHP. Danke für Ihre Hilfe. Ich habe diesen Code in einem Header TPL:

<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>

Was ich mit der PHP -Funktion aufrufen möchte. Die Sache ist, ich möchte dieses TPL nennen und angeben, in welcher der Li -Klasse die "ausgewählte" Klasse angewendet wird. Wie kann ich das tun? Wie ich Ihnen sagte, einfach Peasy für alle mit grundlegender PHP -Erfahrung. DANKE.

War es hilfreich?

Lösung

Sie können es von einer Variablen stützen, die in Ihrer Aufruflogik (Nicht-Template) festgelegt ist. In Smarty können Sie dies beispielsweise im PHP tun:

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

Dann können Sie in Ihrer Vorlage diese Variable nur überprüfen:

<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>

Die HTML hält Ihre Biz -Logik (PHP) und in Ihrer Anzeigelogik (TPL) heraus.

Andere Tipps

Machen Sie eine Funktion dafür:

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>';
}

Und dann nennen Sie es einfach später:

menu('d&oacute;nde estamos');
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top