我需要在Joomla模板中编辑此代码,以便仅当我在类别博客视图中显示页面标题(id="jf_page_heading"),并在文章内部隐藏它。
<?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 } } ?>
我应该如何编辑它?
-
要在类别博客视图中显示页面标题,不需要编辑代码。相反,您可以简单地在类别博客菜单中启用
show page heading
参数。要在文章视图中隐藏页面标题,需要在模板文件夹中为其创建覆盖。文章路径: site/templates/html/com_content/Article/default.php
-
另一种方法,如果你想通过代码来做,因为你在类别博客视图中使用龙门阵模板,如果代码不存在您不应该在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)点在文章视图中隐藏页面标题。
试试
$input = JFactory::getApplication()->input;
if (
$input->getCmd('option') == 'com_content' &&
$input->getCmd('layout') == 'blog' &&
$input->getCmd('view') == 'category'
) {
// Show title
}