如何检测页面是 Joomla 文章还是类别博客视图
How to detect if the page is a Joomla article or category blog view
我想根据页面的特定视图将 class 应用到 div。如果页面是类别博客视图,我想添加 class "blogview",否则如果页面是文章,我想应用 class "articleview"。我会在模板的 index.php 文件中执行此操作。我该怎么做?
提前致谢。
我是这样解决的:
<?php
if( JRequest::getVar( 'view' ) == 'article' )
{
$articleviewornot = "articleview";
}
if( JRequest::getVar( 'view' ) == 'category' )
{
$categoryviewornot = "categoryview";
}
?>
您可以通过几种方式处理这个问题,但我刚刚创建了一个 $class 变量并根据视图/布局将其设置为您想要的 classes。
<?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.'">';
?>
JRequest
已弃用。请改用 JFactory::getApplication()->input
。例如JFactory::getApplication()->input->get('view')
参见:https://docs.joomla.org/Retrieving_request_data_using_JInput
我想根据页面的特定视图将 class 应用到 div。如果页面是类别博客视图,我想添加 class "blogview",否则如果页面是文章,我想应用 class "articleview"。我会在模板的 index.php 文件中执行此操作。我该怎么做?
提前致谢。
我是这样解决的:
<?php
if( JRequest::getVar( 'view' ) == 'article' )
{
$articleviewornot = "articleview";
}
if( JRequest::getVar( 'view' ) == 'category' )
{
$categoryviewornot = "categoryview";
}
?>
您可以通过几种方式处理这个问题,但我刚刚创建了一个 $class 变量并根据视图/布局将其设置为您想要的 classes。
<?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.'">';
?>
JRequest
已弃用。请改用 JFactory::getApplication()->input
。例如JFactory::getApplication()->input->get('view')
参见:https://docs.joomla.org/Retrieving_request_data_using_JInput