本文重点是大家详细介绍了drupal中hook_theme函数的用法,可以完成drupal主题的灵活定制。Drupal建网站有很大的现实意义,一定要朋友们参考。
本文介绍了Drupal中hook_theme函数的使用。分享给大家参考。实际:
在开发和设计的情况下,它必须应用于drupal主题定义。
举个简单的例子:
复制下面这段代码:<?PHP
函数模块name_theme(){//主题应用APIhook_theme
返回数组(//返回主题数组
'hot_news'=>;Array(//为已定义的主题定义一个名称
'arguments'=>;数组('title'=>NULL,'teaser'=>NULL,'link'=>NULL),//这些都是要传输的主要参数。实际应用的是theme('hot_news',arg1,arg2,arg3)。此时,它应用于。
'template'=>;'Hot_news',//模板名,它会自动检索hot_news.tpl.php模板文档
'file'=>;'Get_page.inc',//这是定义相关函数的文档,基础必须独立定义。
'path'=>;Drupal_get_path('module','modulename'),//获取文件路径。如果主题('hot_news',arg)在template.php应用,Drupal必须被告知具体的地址,这是没有定义的。如果在模板中应用,它只能在template.php的同一个文件目录中搜索。默认设置和主题与文件目录相同。
),
);
?>
每个主要参数都将被加载到自变量中。变量。,例如:$variables['title'],$variables['teacher']和$variables['link']。
接下来就可以应用了:
复制下面的代码:<?PHP
$output=theme('hot_news','是话题','哈哈,老师','对,是链接');//这次申请的时候,他会输出定义好的hot_news.tlp.php模板内容样式。、100%
?>
另一个作用是准备处理系统。
复制以下代码:<?PHP
函数template_preprocess="superseo">ss_hot_news(&;$variables){
/$variables['title']的值可以用在你的hot_news.tpl.php中输出
$variables['title']='让它在求解时显示其他标题';
$variables['teaser']='strng......';
$variables['link']=l(eeeee,'node/'.1);
}
?>
了解hook_theme让你可以随意定制自己的主题。我感觉drupal很强大,也很灵活。
总结:
当drupal被告知应用theme('hook',arg)时,它必须寻找hook_theme的定义。如果没有预处理,它会立即给你tpl.php文件中的主要参数。如果是,它就把theme的主参数('hook',arg)发送给预处理,用$variables['arg']就能立刻得到值。如果是这样,它应用新的$variables['arg']并最终将其输出到tpl.php。
期待以上对大家的drupal网站有所帮助。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)