Joomla 3隐藏来自特定页面的内容
问题描述:
我期望在所有页面上出现的某些页面上隐藏div。我已经使用一些PHP和CSS来分配每个页面的唯一代码,但我无法得到正确的CSS来隐藏或从这些网页中删除div。Joomla 3隐藏来自特定页面的内容
.pageid111 .logo{
display: none;
}
是我正在尝试使用。希望得到任何帮助
答
相反直接在所有文件中调用徽标,您可以创建一个模块并在需要时显示它。您必须更改模板文件中的一些代码。我会举一个例子,以便您可以为自己的模板做到这一点。
如果您看到Joomla附带的默认模板protostar。它有一个名为index.php的文件。 $徽标在行号67-78处定义为
// 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>';
}
您可以对此进行注释。
下一页上的同一个文件下面一点左右线140,你会发现这段代码
<?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>
新增标志位置到
<positions>
<position>banner</position>
<position>debug</position>
<position>logo</position>
<position>position-0</position>
<position>position-1</position>
.............
</positions>
所以你现在有一个额外的模块位置来代替硬编码的标识图像。你可以放置任何图像模块,或者只是创建一个html模块。
答
一个解决办法是使用的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
你是什么意思与“来自特定页面”? 您是否试图在主页上隐藏徽标? – alfredopacino
好的。我在主页上有徽标,但不希望它出现在我们的页面上 –
您的HTML看起来像什么?具体来说,PHP为每个页面分配一个唯一代码的HTML代码行是什么样的?在主页的html中放置一个主页类可能会更容易。 – gaynorvader