【发布时间】:2014-01-11 17:57:16
【问题描述】:
我有一个 Joomla 网站,我正在尝试根据 foreach 语句中的链接检查部分 URL。
在网络浏览器中查看时,唯一改变的是 URL 中涉及布局的部分。以下是一些示例:
- http://www.myweb.com/index.php?option=com_jsjobs&c=jsjobs&view=employer&layout=controlpanel&Itemid=111
- http://www.myweb.com/index.php?option=com_jsjobs&c=jsjobs&view=employer&layout=formjob_visitor&Itemid=111
- http://www.myweb.com/index.php?option=com_jsjobs&c=jsjobs&view=employer&layout=myjobs&Itemid=111
在 Joomla 3 中,您可以使用以下 php 字符串获取布局:
<?php
$app = JFactory::getApplication();
$layout = $app->input->getCmd('layout', '');
?>
在我的 php 文件中,我有以下 foreach 循环:
<?php foreach($this->employerlinks as $lnk) { ?>
<li><a href="<?php echo $lnk[0]; ?>"><?php echo $lnk[1]; ?></a></li>
<?php } ?>
基本上,如果<?php echo $lnk[0]; ?> 的“布局”与页面 URL 的“布局”部分相同,我想向列表项添加一个“活动”类。
我尝试过使用:
<?php foreach($this->employerlinks as $lnk) { ?>
<li class="<?php if ($layout == 'controlpanel'){echo ' active';}; ?>"><a href="<?php echo $lnk[0]; ?>"><?php echo $lnk[1]; ?></a></li>
<?php } ?>
如果页面的布局是“控制面板”,那么显然它会将“活动”类添加到所有列表项中,但这不是我真正想要的。我希望这个问题有意义。
谢谢
【问题讨论】:
-
Iirc Joomla 开箱即用。