如果页面别名与菜单别名匹配(在foreach中),则将menuitem的类更改为活动

时间:2016-02-04 11:21:39

标签: php html .htaccess foreach

我有一个简单的侧面菜单,使用foreach显示:

<?
    if($contentcr[0]['catid'] == '9'){

        foreach($pagecr as $page){
            $landingnospace = str_replace(' ', '_', $page['alias']);
            $title = $page['title'];
            if($title != '') {
            $contentje .= '<li><a href="http://www.website.nl/_extern/website1/'.$landingnospace.'.html">'.$title.'</a></li>';  
            }
        }
        echo $contentje;
    }
    else{
        echo 'Alternatief sidemenu';
    }
?>

页面的别名使用.htaccess:

显示在网址中
DirectoryIndex
RewriteEngine  on
RewriteBase /_extern/website1/

#Indexes uitzetten
Options -Indexes

#Website1
RewriteRule     ^(.*).html content.php?alias=$1 [L]

我目前在页面上使用两个查询,一个用于db_content,另一个用于db_categories

db_content:

//  content
    $content        = "SELECT * FROM `db_content` WHERE alias = '".$_GET['alias']."' ";
    $contentcon         = $conn->query($content);
    $contentcr          = array();
    while ($contentcr[]     = $contentcon->fetch_array());

db_categories

//  Pages
$page               = "SELECT con.title, con.alias, con.images, con.introtext
                       FROM db_content con
                       LEFT JOIN db_categories cat ON con.catid = cat.id
                       AND cat.alias = '".$_GET['alias']."' WHERE con.state = 1 ORDER BY `ordering` DESC"; 
$pagecon            = $conn->query($page);
$pagecr             = array();
while ($pagecr[]    = $pagecon->fetch_array());

那么如何将foreach中的结果与url中的别名进行比较,如果匹配,则将类current-menu-item添加到list标签中?

1 个答案:

答案 0 :(得分:1)

您可以引入$class变量,看看当前$page["alias"]是否等于$_GET["alias"]。如果是,请应用课程current-menu-item,否则请将其留空。

<?
    if($contentcr[0]['catid'] == '9'){

        $alias = $_GET["alias"];

        foreach($pagecr as $page){
            $landingnospace = str_replace(' ', '_', $page['alias']);
            $title = $page['title'];
            if($title != '') {
                // magic happens here
                $class = ($page["alias"] == $alias)?"current-menu-item":"";
                $contentje .= '<li><a class="'.$class.'" href="http://www.website.nl/_extern/website1/'.$landingnospace.'.html">'.$title.'</a></li>';  
            }
        }
        echo $contentje;
    }
    else{
        echo 'Alternatief sidemenu';
    }
?>