将css更改为index.php

时间:2011-05-07 15:54:18

标签: css joomla

我想仅将template.css应用于joomla中的index.php或home,并将css.class应用于其他文件。我怎样才能做到这一点 。请帮帮我

3 个答案:

答案 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" />

希望我理解正确的问题