通过drupal的API添加样式表

原文: http://drupaluser.cn


Drupal使用者中文社区 ,提供drupal模块中文介绍,drupal教程,drupal开发,drupal主题制作文章。

通过.info文件添加样式表,对于大多数主题来说,已经足够了.由于.info文件是静态的,所以不能动态
的添加样式表。依据主题是如何处理样式表的,将它们放到一块也是可以的。当你有所疑虑的时候,使
用.info文件就可以了。
有两个API函数可用来处理样式表,drupal_add_css 和drupal_get_css。下面是一个动态添加样
式表的例子。将前缀"drop"改为你的主题名。
<?php
function drop_preprocess_page(&$variables) {
$front_style = path_to_theme() .'/front-page.css';
$path_style = path_to_theme() .'/path-'. arg(0) .'.css';
if (file_exists($front_style) && $variables['is_front']) {
$include_style = $front_style;
}
elseif (file_exists($path_style)) {
$include_style = $path_style;
}
if (isset($include_style)) {
drupal_add_css($include_style, 'theme', 'all', FALSE);
$variables['styles'] = drupal_get_css();
}
}
?>
在上面的例子中,访问首页,将会加载样式表"front-page.css",而访问其它页面,则会根据内部
路径的不同加载其它的样式表。例如,对于页面,http://example.com/admin,将会使用"pathadmin.
css"。
一些注意点:
· 根据样式表加载的时间和地点,将会调用drupal_get_css来加载要添加的样式表。在模板预处
理页面 template_preprocess_page )首先对其进行初始回显。关于预处理器顺序的具体细节,
可参看预处理器和变量。
· 在drupal_add_css存在一个参数,用来聚合添加的文件。当要添加的样式 是非常动态的话,可
以考虑像前面的例子那样,禁用该参数,这是由于向一个大的聚合文件中添加一个比较小的文件
需要重新创建一个新的聚合CSS文件。生效 后,加载页面的速度将会变慢,并且耗费更多的带
宽。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值