joomla插件扩展在每个页面上加载css文件

Tom*_*Tom 5 css joomla joomla2.5

我正在使用Joomla 2.5的自定义插件扩展.此插件针对我网站上的单个页面.但出于某种原因,我注意到它在每一页上都加载了css文件.

插件的代码加载此css文件:

$doc->addStyleSheet($pluginAssetsUrl . '/css/aecuserpage.css');
Run Code Online (Sandbox Code Playgroud)

我不认为这很常见,但我不确定插件.我可以使它只应用我想要的页面而不是每一页.任何关于如何调试这个的想法将不胜感激.

该插件在文章页面上打印一个简单的表格并使用插件功能 onContentPrepare

vor*_*laz 5

使用这些代码段来管理您的问题:

1)通过检查活动菜单项来加载CSS

$menu = &JSite::getMenu();
$menuItem = $menu->getActive();
$Itemid = $menuItem->id;
if($Itemid!=1)
{
 $doc->addStyleSheet($pluginAssetsUrl . '/css/aecuserpage.css');
}
Run Code Online (Sandbox Code Playgroud)

2)在组件上加载CSS

if (JRequest::getCmd( 'option' ) == 'com_k2'){
        $doc->addStyleSheet($pluginAssetsUrl . '/css/aecuserpage.css');
}
Run Code Online (Sandbox Code Playgroud)

3)仅在主页中加载CSS

<?php if(JRequest::getInt('Itemid') == $menu->getDefault()) {
   $doc->addStyleSheet($pluginAssetsUrl . '/css/aecuserpage.css');
}?>
Run Code Online (Sandbox Code Playgroud)

4)在活动菜单ID上加载CSS

<?php
$menuID = JSite::getMenu()->getActive()->id ;
  if ($menuID == '6')
  {
   $doc->addStyleSheet($pluginAssetsUrl . '/css/aecuserpage.css');
  }
?>
Run Code Online (Sandbox Code Playgroud)

5)在活动语言上加载CSS:

$lang =& JFactory::getLanguage();
switch ($lang) {
case 'en-gb':
$doc->addStyleSheet($pluginAssetsUrl . '/css/aecuserpage.css');
break;
}
Run Code Online (Sandbox Code Playgroud)

6)在用户上加载CSS

$user =& JFactory::getUser();
if($user->get('id')==0){
//user is logged in
 $doc->addStyleSheet($pluginAssetsUrl . '/css/aecuserpage.css');
}
Run Code Online (Sandbox Code Playgroud)

7)在URL上加载CSS

$u =& JFactory::getURI();
if($u=="http://www.example.com/joomla/index.php?task=view&id=12&Itemid=29")
{
$doc->addStyleSheet($pluginAssetsUrl . '/css/aecuserpage.css');
}
Run Code Online (Sandbox Code Playgroud)