質問

あなたが推測するように、私はPHPに慣れていません。ご協力いただきありがとうございます。ヘッダー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>

PHP関数で呼び出したいと思います。事は、このTPLと呼びたいと思っています。どのLiのどれが「選択された」クラスが適用されるかを示しています。どうすればよいですか?私があなたに言ったように、基本的なPHPエクスペリエンスを持つ人にとっては簡単です。ありがとうございました。

役に立ちましたか?

解決

呼び出し(テンプレート以外の)ロジックに設定されている変数に基づいてベースにすることができます。たとえば、Smartyでは、PHPでこれを行うことができます。

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

次に、テンプレートでは、その変数を確認できます。

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

htmlは、bizロジック(php)および表示ロジック(tpl)から除外します。

他のヒント

そのための関数を作成します:

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

そして、後でそれを呼び出すだけです:

menu('d&oacute;nde estamos');
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top