【问题标题】:How to detect if the page is a Joomla article or category blog view如何检测页面是否是 Joomla 文章或类别博客视图
【发布时间】:2018-01-18 14:31:08
【问题描述】:

我想根据页面的特定视图将类应用于 div。如果页面是类别博客视图,我想添加类“blogview”,否则如果页面是文章,我想应用类“articleview”。我会在我的模板的 index.php 文件中执行此操作。我怎么能这样做?

提前致谢。

【问题讨论】:

    标签: php joomla


    【解决方案1】:

    JRequest 已弃用。请改用JFactory::getApplication()->input。例如JFactory::getApplication()->input->get('view')

    见:https://docs.joomla.org/Retrieving_request_data_using_JInput

    【讨论】:

      【解决方案2】:

      您可以通过几种方式处理此问题,但我刚刚创建了一个 $class 变量并根据视图/布局将其设置为您想要的类。

      <?php
      $joomlaApp = JFactory::getApplication()->input;
      $option = $joomlaApp->getCmd('option');
      $view = $joomlaApp->getCmd('view');
      $layout = $joomlaApp->getCmd('layout');
      $class = '';
      
      if ($option == 'com_content' && $view == 'article'){
          $class = 'articleview';
      }elseif($option == 'com_content' && $view == 'category' && $layout == 'blog'){
          $class = 'blogview';
      }
      echo '<div class="'.$class.'">';
      ?>
      

      【讨论】:

        【解决方案3】:

        我是这样解决的:

        <?php
            if( JRequest::getVar( 'view' ) == 'article' )
            {
                $articleviewornot = "articleview";
            }
            if( JRequest::getVar( 'view' ) == 'category' )
            {
                $categoryviewornot = "categoryview";
            }
        ?>
        

        【讨论】:

          猜你喜欢
          • 2023-03-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-11-15
          相关资源
          最近更新 更多