Joomla 3隐藏特定页面的内容

时间:2016-08-02 14:48:29

标签: php html css joomla joomla3.0

我希望隐藏在所有页面上出现的某些页面上的div。我使用了一些php和css为每个页面分配了一个唯一的代码,但是我无法获得正确的css来隐藏或删除这些页面中的div。

 .pageid111 .logo{
   display: none;
  }

是我试图使用的。非常感谢任何帮助

2 个答案:

答案 0 :(得分:1)

您可以创建一个模块并在需要的地方显示,而不是直接在所有文件中调用徽标。您必须更改模板文件中的一些代码。我将给出一个示例,以便您可以为自己的模板执行此操作。

如果您看到Joomla附带的默认模板protostar。它有一个名为index.php的文件。 $ logo在第67-78行定义为

.

您可以对此进行评论。

接下来在第140行附近的同一个文件中,您将找到此代码

// Logo file or site title param
if ($this->params->get('logoFile'))
{
    $logo = '<img src="' . JUri::root() . $this->params->get('logoFile') . '" alt="' . $sitename . '" />';
}
elseif ($this->params->get('sitetitle'))
{
    $logo = '<span class="site-title" title="' . $sitename . '">' . htmlspecialchars($this->params->get('sitetitle')) . '</span>';
}
else
{
    $logo = '<span class="site-title" title="' . $sitename . '">' . $sitename . '</span>';
}

此代码正在调用徽标文件。只需用

替换此代码即可
<?php echo $logo; ?>

您刚刚添加了一个带名称徽标的新模块位置。

<jdoc:include type="modules" name="logo" style="xhtml" /> 文件

中添加此位置之前,这不会反映出来

如果您打开该文件,您会找到这些行

templateDetails.xml

将徽标位置添加到

<positions>
        <position>banner</position>
        <position>debug</position>
        <position>position-0</position>
        <position>position-1</position>
        .............
</positions>

所以你现在有一个额外的模块位置来代替硬编码的徽标图像。您可以在其中放置任何图像模块,或者只创建一个html模块。

答案 1 :(得分:0)

解决方案可以使用joomla框架检测主页 https://docs.joomla.org/How_to_determine_if_the_user_is_viewing_the_front_page

通过相同的getMenu()方法,您可以概括其他菜单项的代码 Joomla 3.1 - Get active menu item url