所以我想做的就是打开我的班级"选择" (基本上是悬停)当我在相应的类别上时。几乎是活跃的悬停事物。
所以,我在做什么
$url = $this->getLink($menu);
$current_url = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$selected = (strpos($url, $current_url) !== false) ? true : false;
事情是:当网址如下时,它的效果非常好:http://my-website.com/en/15-this-categorie
但是,当网址为:http://my-website.com/en/时,它确实会在每次悬停时启用,此处,没有任何悬停应该打开。
需要帮助!
答案 0 :(得分:0)
问题在于你的$url
是大海捞针。
因此,/en/
属于$url
,因此会匹配。
您可以向上切换变量,也可以为/en/
所以
$selected = (strpos($current_url, $url) !== false) ? true : false;
或异常的方式(这只是一个例子,不要盲目地复制粘贴它):
if($current_url == $_SERVER['HTTP_HOST'].'/en'){
$selected = false;
}
答案 1 :(得分:0)
如果这与类别ID有关,请在smarty中尝试:
{if isset ($ page_name) && $ page_name = 'category' && $ smarty.get.id_category == 15}
或者在Php
if (Tools :: getValue ('id_category') == 15)
此致
答案 2 :(得分:0)
感谢您的所有答案:D
我通过比较id来解决这个问题,这实际上是最简单的方法和最合乎逻辑的方法
$url = '/'.$menu['item'].'-';
$current_url = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$selected = (strpos($current_url, $url) !== false) ? true : false;
$ menu [' item']获取类别ID btw