站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
Drupal主题的覆写
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
<span style="border:1px solid #000; float:right; text-align:center; padding:6px;"><strong>导航:</strong>[[Drupal|上一页]]</span> <div style="clear:both;"></div> [[Drupal]]的[[模板]]主要就是由后缀名为info,php以及template.php文件组成的,下面我主要总结的是如何覆写某些内容(这就是drupal灵活性的体现之处)。有时你会遇到某些样式是无法通过Drupal的核心或第三方模块提供的[[HTML]]来实现,这时你就要用到覆写了。 '''原理''':一个模块使用模板文件或者theme函数来将他们的输出送到模板层(就是你的主题)。这些小块再装配在一起就形成了最终页面。eg:开始状态是节点HTML模板文件+区块HTML模板文件+评论HTML模板文件等这些小块提交给你的主题,你的主题可以覆写这些文件也可以就保持默认情况然后装配成最终页面。 在覆写主题时,有个重量级模块叫做[[Devel]],感觉功能类似[[Firefox]]中的[[firebug]],对定制主题十分有用。 *'''主题注册机制''': Drupal的主题注册是维护可利用的themen hooks的缓存数据以及如何处理它们.当启用一个新模块或者主题时,Drupal将查找其间可以输出主题的元素(eg:模板文件或者theme函数),然后在注册时就存储一个对这些元素的引用,当构建一个新的页面时,将引用它的注册。说了半天想说的就是,当你添加一个新的覆写时,(eg:一个模板文件)你需要更新下主题注册机制。即清除缓存或访问下主题页面,点击下保存按钮。 *覆写所有模块的模板文件方法: 你启用的每一个模块都将使用它们自己的模板来输出数据到你的主题上,这就导致了你主题的一个页面可能是由多个很小的模板文件生成的。Devel模块能够帮你很快的找出内容是由哪个模板文件输出的。 '''方法''':拷贝模块的模板文件到你主题的文件夹内,修改你的文件就可以了。 *'''Theme 函数''': 因为模块送数据给用户有2种方法,要么是个模板文件要么是一个theme函数。2种方法都能够创建同样的输出,只是方法不同罢了。模板文件更多的是HTML以及少量的[[PHP]],相反,theme函数主要是PHP和少量的HTML。通常theme函数主要用于包含一个逻辑判断来修改输出。 '''方法''':找到你要覆写的函数(是以theme_开头)拷贝到template.php文件内(若你主题没有,你可以创建一个),将函数名改成你的主题名_,或者phptemplate_.eg:theme_date------->zzbaike_date. 修改函数即可。 *'''预处理函数Preprocess Functions''' 主要是创建放在模板文件内的变量,用在template.php文件中,eg:模板文件内有这样代码 <pre> <?php print t(‘Submitted by !username on !datetime’, array(‘!username’ => $name, ‘!datetime’ => $date)); ?> </pre> 这里的$name变量包含的是什么呢? 这些变量来自模块,被用在theme函数和模板文件内.你可以使用Preprocess 来修改这个变量在它们被用在theme函数和模板文件内之前。 '''命名方法''':模板文件:node.tpl.php ------》zzbaike_preprocess_node。(zzbaike为你自己的主题名) thmem函数theme_username--------》 zzbaike_preprocess_username。(zzbaike为你自己的主题名) '''添加新的变量''':假若现在你想添加一个新变量$downzzbaike给所有的模板. '''方法''':在template.php添加下面代码 <ppre> function zzbaike_preprocess(&$variables) { $variables[‘downzzbaike] = ‘zzbaikewiki’; } </pre> 然后你在模板文件内直接print $downzzbaike就行了。若你想将其限制在只用在page.tpl.php内,用下面代码 <pre> function zzbaike_preprocess_page(&$variables) { $variables[‘downzzbaike’] = ‘zzbaikewiki’; } </pre> 你还可以使用变量template_file提供一个模板文件 <pre> function zzbaike_preprocess_page(&$variables) { $variables[‘downzzbaike’] = “zzbaikewiki”; if ($variables[‘downzzbaike’] == “zzbaikewiki”) { $variables[‘template_file’] = ‘page-zzbaikewiki’; } } </pre> 当downzzbaike是zzbaikewiki时,模板文件将使用page-zzbaikewiki.tpl.php来替代page.tpl.php [[category:Drupal|D]] [[category:模板制作|D]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)