如果类别或文章视图,Php Joomla显示/隐藏页面标题

时间:2016-10-04 10:28:25

标签: php joomla

我需要在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 } } ?>

我该如何编辑?

2 个答案:

答案 0 :(得分:1)

  1. 要在类别博客视图中显示页面标题,您无需编辑代码。相反,您只需在类别博客菜单中启用show page heading参数即可。要在文章视图中隐藏页面标题,您需要在模板文件夹中为其创建覆盖。

      

    文章路径: site / templates / html / com_content / article / default.php

    注释要隐藏的页面标题html部分。

  2. 替代方式,如果您想通过代码执行此操作,因为如果代码不存在,则在类别博客视图中使用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 } } ?>
    
  3. 按照第(1)点在文章视图中隐藏页面标题。

    希望这有帮助。

答案 1 :(得分:0)

尝试类似

的内容
$input = JFactory::getApplication()->input; 
if (
  $input->getCmd('option') == 'com_content' &&
  $input->getCmd('layout') == 'blog' &&
  $input->getCmd('view') == 'category'
) {
    // Show title
}