站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
Drupal/Drupal hook theme使用
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
{{Drupal top}} 在开发的时候不免要使用到[[drupal]] theme定义。 ==Drupal hook theme使用== 简单的例子: <pre><?php function modulename_theme() { //开始定义自己的theme 使用api hook_theme return array( //返回theme 数组 'hot_news' => array( // 给定义的theme 定义一个名称 'arguments' => array('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'), //得到文件路径,如果theme('hot_news',arg)在template.php里面使用, 需要告诉drupal具体位置,不定义,如果在template使用,它只能在template.php同目录下查找。默认和主题同目录。 ), ); ?> </pre> 每个参数都会写入变量里。 variables.,比如:$variables['title'], $variables['teaser'] and $variables['link']. 接下去就可以使用: <pre><?php $output = theme('hot_news', '这是标题','haha,teaser','yes, 这是link');//使用这个时候,他会输出定义的hot_news.tlp.php模板内容样式。、。 ?> </pre> 还有一个功能就是预处理机制。 <pre> <?php /** * template_preprocess_hook($variables) //也就是,自己可以控制模板内容输出的,比如title,先根据传递过来的值,做一下处理,然后再 用$variables['title'] 输出。 模板里面只可以可以使用print $title */ function template_preprocess_hot_news(&$variables) { // $variables['title'] 的值可以使用 $title 在你的hot_news.tpl.php里面输出 $variables['title'] = '在处理一次,让它显示别的title'; $variables['teaser'] = 'strng......'; $variables['link'] = l(eeeee, 'node/'.1); } ?> </pre> 理解hook_theme,就可以自己随心所欲来定制自己的theme。感觉到drupal的强大和灵活了。 ==总结== 当告知drupal使用theme('hook',arg)时, 它需要找到hook_theme的定义,如果没有preprocess,那直接把参数送给你tpl.php文件里。如果有,它就把theme('hook',arg)的来参数,传递给preprocess里面,可以直接用$variables['arg']得到值,看看没有重新赋值,如果有,那就使用新的$variables['arg'],最后输出到tpl.php里面。 ==参考来源== http://hellodrupal.info/node/92 {{Drupal}} [[category:Drupal|D]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:Drupal
(
编辑
)
模板:Drupal top
(
编辑
)