PHP-CSS-HTML нанесение класса на тег через PHP с шаблонами
-
25-09-2019 - |
Вопрос
Как вы угадаете, я новичок в 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ó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>
The держит HTML из вашей логики Biz (PHP) и в вашей логике дисплея (TPL).
Другие советы
Сделайте функцию для этого:
function menu($selected = null) {
echo '<ul class="menu">';
$options = array('home', 'carta', 'delicias artesanas', 'contact', 'dónde estamos');
foreach ($options as $li) {
echo '<li' . ($li == $selected ? ' class="selected"' : '').'><a href="#">'.$li.'</a></li>'."\n";
}
echo '</ul>';
}
а потом просто назовите это позже:
menu('dónde estamos');
Не связан с StackOverflow