我需要在Joomla模板中编辑此代码,以便只有当我在类别博客视图中时才显示页面标题(id =" jf_page_heading")并在我&#39时隐藏它;在文章里面。
<?php
$menu = JFactory::getApplication()->getMenu();
$active = $menu->getActive();
if (is_object($active)) {
$pageHeading = $active->params->get('page_heading');
$show_pageHeading = $active->params->get('show_page_heading');
// CALL
if($pageHeading != ''){ // or - if($pageHeading != '' && $show_pageHeading){
?>
<div id="jf_page_heading">
<div class="rt-container">
<div class="rt-block">
<h1><?php echo $pageHeading; ?></h1>
<?php echo $gantry->displayModules('jf-page-heading','basic','basic'); ?>
<div class="clear"></div>
</div>
</div>
</div>
<?php } } ?>
我该如何编辑?
答案 0 :(得分:1)
要在类别博客视图中显示页面标题,您无需编辑代码。相反,您只需在类别博客菜单中启用show page heading
参数即可。要在文章视图中隐藏页面标题,您需要在模板文件夹中为其创建覆盖。
文章路径: site / templates / html / com_content / article / default.php
注释要隐藏的页面标题html部分。
替代方式,如果您想通过代码执行此操作,因为如果代码不存在,则在类别博客视图中使用gantry模板 -
您不应在if条件中检查$pageheading
,但请检查show_pageHeading
变量。
类别博客路径: site / templates / html / com_content / category / blog.php
<?php $menu = JFactory::getApplication()->getMenu();
$active = $menu->getActive();
if (is_object($active)) {
$pageHeading = $active->params->get('page_heading');
$show_pageHeading = $active->params->get('show_page_heading'); // returns 1 or 0 if set to Yes or no in menu item
// check if showpageheading is set in menu item
if($show_pageHeading){ ?>
<div id="jf_page_heading">
<div class="rt-container">
<div class="rt-block">
<h1><?php echo $pageHeading; ?></h1>
<?php echo $gantry->displayModules('jf-page-heading','basic','basic'); ?>
<div class="clear"></div>
</div>
</div>
</div>
<?php } } ?>
按照第(1)点在文章视图中隐藏页面标题。
希望这有帮助。
答案 1 :(得分:0)
尝试类似
的内容$input = JFactory::getApplication()->input;
if (
$input->getCmd('option') == 'com_content' &&
$input->getCmd('layout') == 'blog' &&
$input->getCmd('view') == 'category'
) {
// Show title
}