drupal主题化常用函数集锦

手册/FAQ (207) 2015-07-12 11:36:10

 [路径相关]

$base_path:  Drupal安装的根目录,返回值最后有“/”,比如你的网址是这样:http://www.domin.com/drupal/,$base_path 返回/drupal/,注意,如果你输出的结果为空,查看一下前面是不是有 global $base_path; 语句。

$base_url: 这个变量返回域名和drupal安装目录,比如http://www.domin.com/drupal,注意,最后不带"/",同样,用的时候注意加global $base_url;

$base_root:返回网址,比如http://www.domin.com,最后不带"/".

base_path():相对于$base_path,base_path()是一个函数,它是对$base_path进行的封装,返回值完全一样,如果你不想加上global $base_path 语句,那么用base_path()代替是一个不错的选择.

'http://'.$_SERVER['HTTP_HOST'].base_path():返回类似http://name.com(:8000)/形式的URL,可以包含端口号.

drupal_get_path($type, $name):用来取得系统环境下的路径。第一个参数可以为'theme','module','theme_engine',第二个参数是参数一的值,比如主题的名称、模块名称等。比如:
 $path = drupal_get_path('module','voice'); print_r($path);exit;
就是得到模块voice的路径,最后得到的路径格式如下:
sites/all/modules/voice
得到的是相对于根目录的相对路径!

drupal_get_path_alias($path,$path_language = ''):返回一个系统路径的URL别名。第一个参数为一个系统路径,比如node/10,第二个参数为查看此路径使用的语言(可选)。比如取得一个节点的别名:
drupal_get_path_alias('node/5',$path_language = ''),如果这个节点有别名'the-name',则返回路径'the-name'.

l($text, $path, $options = array()):格式化一个drupal内部路径。参数解释:
$text 链接要显示的文字;
$path 链接的目标路径, 比如 "admin/content/node". 可以是一个外部或内部的 URL;
$options 由额外信息组成的一个数组, 可以是以下的值:

  • 'attributes' 一个由描述该链接的HTML 属性组成的数组;
  • 'query' A query string to append to the link, or an array of query key/value properties.
  • 'fragment' A fragment identifier (named anchor) to append to the link. Do not include the '#' character.
  • 'absolute' (default FALSE) Whether to force the output to be an absolute link (beginning with http:). Useful for links that will be displayed outside the site, such as in an RSS feed.
  • 'html' (default FALSE) Whether the title is HTML, or just plain-text. For example for making an image a link, this must be set to TRUE, or else you will see the escaped HTML.
  • 'alias' (默认为FALSE) 是否该链接里的路径是一个已存在别名的路径.

[数据库相关]

db_query($query):在当前数据库执行标准查询操作。$query应该是一条正确的sql语句,注意事项有:
1.用正确的占位符取代sql语句中的值: %s, %d, %f, %b (二进制数据请不要直接放在 ''里) 和%%.%s可代替字符串,%d可表示双精度数字,%f为单精度数字,%b为二进制字节流。
2.在sql里把表放在{}里,以免混淆。比如,sql = 'SELECT * FROM {node} n WHERE n.nid = %d';

db_rewrite_sql():

db_fetch_object():

db_fetch_array($result):将一条查询结果作为数组返回。

db_result():

pager_query():

 

[节点和用户相关]

node_load():

user_load():

[其它]

arg($index = NULL, $path = NULL):返回一个drupal的当前内部路径。当你访问诸如'node/10'的路径是,则arg(0)会返回'node',arg(1)返回'10'.
参数说明:$index 路径的索引项。索引项之间由'/'斜线分隔,默认第一个索引项是arg(0).

drupal_add_js():

drupal_add_css():

format_date():

truncate_utf8($string, $len, $wordsafe = FALSE, <ins>$dots</ins> = FALSE)

常用的截取字符串函数,参数说明:
$string:待截取的字符串;$len:要截取的长度;$wordsafe:截取时是否保持字词完整;$dots:是否在末尾添加省略号“...”。

THE END