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 سيكون لديه فئة "محددة" مطبق ، كيف يمكنني فعل ذلك؟ كما قلت لك ، من السهل peasy لأي شخص لديه تجربة 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ó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