我想仅将template.css应用于joomla中的index.php或home,并将css.class应用于其他文件。我怎样才能做到这一点 。请帮帮我
答案 0 :(得分:1)
如果你不去想它,这很简单。 Joomla已经在菜单项中提供了一个页面类后缀,允许您根据页面的后缀控制页面上的CSS。这使您可以对每页进行最终控制,而无需加载不同的样式表。您只需要在index.php文件中添加一些代码即可使其全部工作。
在头部的某处添加此PHP代码 -
$menu = &JSite::getMenu();
$active = $menu->getActive();
if (is_object( $active )) :
$params = new JParameter( $active->params );
$pageclass = $params->get( 'pageclass_sfx' );
endif;
然后用 -
替换你的身体标签<body id="<?php echo $pageclass ? $pageclass : 'default'; ?>">
如果为菜单项指定了页面类后缀,那么它将成为正文的ID,否则ID将为“default”。这使得具有页面特定的CSS变得微不足道。
答案 1 :(得分:0)
你可以通过2种方式做到这一点......
1)创建2个不同的Joomla模板:
使用template.css,另一个使用mycss.css然后将其分配给您想要的任何页面。
2)添加此代码以将CSS文件包含在所需的页面中:
<?php if(JRequest::getCmd('Itemid') == 1 ) {?>
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/mycss.css" type="text/css" />
<?php } ?>
并将 Itemid 更改为您要使用的Itemid。
如果您想在除一个页面之外的所有页面上使用mycss.css,您可以将代码修改为:
<?php if(JRequest::getCmd('Itemid') != 1 ) {?>
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/mycss.css" type="text/css" />
<?php } ?>
那就可以了。
答案 2 :(得分:-1)
在“index.php”或“joomla中的主页”中仅包含“template.css”文件
<link href="template.css" type="text/css" rel="stylesheet" />
在“其他文件”中包含“mycss.css”文件
<link href="mycss.css" type="text/css" rel="stylesheet" />
希望我理解正确的问题