Joomla 3:隐藏类的主页


Joomla 3: Hide Class on Home Page

我想只在主页上隐藏一个类。

<div class="search-wrapper">
.search-wrapper {
    background: none repeat scroll 0 0 #3d4895;
    height: 50px;
    margin-top: 10px;
    width: 100%;
}

所以这必须在所有页面上显示。除了首页。我就是搞不懂。

我已经创建了HOME PAGE菜单项来拥有一个页面类,但是仍然不能仅在主页上针对. search -wrapper。

如果可能的话,让您想要隐藏模块的部分,并在模板中设置适当的模块区域。这样,您可以将它分配给除了主页以外的所有页面。这种方法的好处是页面不会大量生成不必要的隐藏内容。

如果不这样做,请将以下内容添加到模板中:

<?php
$pageclass="";
$app = JFactory::getApplication();
$menu = $app->getMenu();
if ($menu->getActive() == $menu->getDefault()) {
       $pageclass="homepage";
}
?>

然后,在body标签中…

<body class="<?php echo $pageclass; ?>">

这将在主页的body标签中添加一个类"主页"。然后,样式可以像这样添加到主页…

.homepage .search-wrapper {
    display:none;
}

不需要javascript

您必须使用jquery,使用以下行:

//Here you check if the user is on the homepage
$app = JFactory::getApplication();
$menu = $app->getMenu();
if ($menu->getActive() == $menu->getDefault()) {
    //This line makes it hide the class
    $('.search-wrapper').css('display','none');
}

最简单的方法—创建一个只发布到主页的自定义HTML模块。扩展->模块管理器->新建->自定义HTML

在该模块中,切换到代码视图而不是所见即所得编辑器,并创建一个样式'块'。你所需要做的就是使用一个更具体的CSS规则来否决样式表中的CSS。

假设你的样式表目前只引用了一个类,那么在选择器前加上任何父容器中一个元素的id会更"具体"。

<style type="text/css">
#some-id .search-wrapper {display:none;}
</style>

显然将'some-id'替换为父/祖父母/等元素的实际id