Joomla模板的body类跟踪,如WordPress



如何以类的形式将页面的所有相关标记跟踪到<body>标记?我指的是Wordpress如何将以下内容放入页面的主体类属性中:

home page page-id-12766 page-template page-template-page-home-php cufon2-disabled safari theme-*

这对Joomla模板的开发非常有帮助。

提前谢谢。

我不知道是否有现成的解决方案。由于网站的主要结构主要基于Menu结构,因此下面的片段可能很有用。这在templates/mytemplate/index.php文件中使用。

<?php
    $menu = &JSite::getMenu();
    $active = $menu->getActive();
    $pageclass= '' ;
    //$currentpage = '';  //In case if wanted to get the alias of the current page in a later stage.
    if( count($active->tree) > 0 ) {
        foreach ($active->tree as $key => $value) {
            $pageclass .= 'level-'.$key . ' pageid-'.$value. ' page-'.$menu->getItem($value)->alias ;
            //$currentpage = $menu->getItem($value)->alias;
        }
    }
?>
<body class="<?php echo $pageclass; ?>">

这将输出类似于:

<body class="level-0 pageid-101 page-home">

您可以使用$active变量中的各种可用值来改进这一点。

以下是关于Body class Function 的一些信息

Wordpress如何确定使用它应用哪些类可以在post-template.php 中找到

您要查找的相关函数是该模板中的get_body_class。它本质上运行一系列检查,以确定当前页面是否符合给定类的标准。它也在很大程度上依赖于Wordpress特定的函数调用,这有助于做出决定。

最新更新