Joomla 3 隐藏特定页面的内容
Joomla 3 Hide Content from specific page
我希望在所有页面上出现的某些页面上隐藏 div。我使用了一些 php 和 css 为每个页面分配了唯一代码,但我无法获得正确的 css 来隐藏或删除这些页面中的 div。
.pageid111 .logo{
display: none;
}
是我正在尝试使用的。非常感谢任何帮助
一个解决方案是使用 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
无需在所有文件中直接调用logo,您可以创建一个模块并在需要的地方显示它。您必须更改模板文件中的一些代码。我将举一个例子,这样你就可以为自己的模板做。
如果您看到 Joomla 自带的默认模板 protostar。它有一个名为 index.php 的文件。 $logo 在第 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 模块。
我希望在所有页面上出现的某些页面上隐藏 div。我使用了一些 php 和 css 为每个页面分配了唯一代码,但我无法获得正确的 css 来隐藏或删除这些页面中的 div。
.pageid111 .logo{
display: none;
}
是我正在尝试使用的。非常感谢任何帮助
一个解决方案是使用 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
无需在所有文件中直接调用logo,您可以创建一个模块并在需要的地方显示它。您必须更改模板文件中的一些代码。我将举一个例子,这样你就可以为自己的模板做。
如果您看到 Joomla 自带的默认模板 protostar。它有一个名为 index.php 的文件。 $logo 在第 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 模块。