欢迎各位兄弟 发布技术文章
这里的技术是共享的
可以通过 devel_theme 看到它
drupal本身的模板建议在 theme.inc 文件
模板建议网站
http://stackoverflow.com/questions/6792712/drupal-7-custom-content-type-and-templates
http://highrockmedia.com/blog/creating-custom-content-type-page-templates-drupal-php
http://drupal.org/node/17565 (有大用)
上图来自著名的好莱坞电影get smart,我觉得用强大和灵活这类词汇并不能完全体现Drupal的魅力,用smart这个词也许更合适。我打算花两天时间为大家介绍一下能够充分体现samrt特点的一个重要的Drupal特性——模板建议。
Drupal的模板建议(template suggestion)在Drupal主题开发工作中经常遇到,本文旨在帮助大家厘清这一重要的概念。
模板建议是基于Drupal中已经存在的.tpl.php模板文件的替换模板。这个定义主要有两个要点:(1)模板建议是.tpl.php模板;(2)模板建议用于替换已经存在的.tpl.php模板。
通过这个定义可以引申出一个问题:既然Drupal中已经有存在的模板了,那么我们为什么还要替换它们?这是因为我们经常需要在不同的条件下使用模板的不同变体。让我来举一个block.tpl.php模板的例子来说明。
block.tpl.php是一个Drupal内核中定义的基模板,用于区块的显示,同时还定义了一些模板建议。通过实现这些模板建议,我们可以针 对不同的区块条件使用特定的模板。如block--block--1.tpl.php模板用于Drupal网站中的第一个区块,block-- sidebar_first.tp.php模板则用于Drupal网站中左边栏中的区块。
Drupal的内核,主题,主题引擎和模块都可以提供模板建议,这可以使Drupal的开发工作更加smart。
来自 http://mydrupal.org/drupal%E6%A8%A1%E6%9D%BF%E5%BB%BA%E8%AE%AEtemplate-suggestion%EF%BC%88%E4%B8%8A%...
今天继续smart!
o(∩∩)o
昨天为大家简单说了说Drupal模板建议的基本概念,今天讲一下怎样添加自定义模板建议。为什么要添加自定义的模板建议呢?Drupal内核和很 多contrib projects不是已经提供了非常多的模板建议了吗?这是因为我们有时需要根据自己的特定条件应用某个模板,而这些条件是Drupal内核和 contrib projects的作者所没有顾及到的。这不正是smart的充分体现吗?
马上要去开会,就不细写了。下面这个函数没有实际使用意义,只是为了更简单清晰的说明添加模板建议的方法。
1 2 3 4 5 | function mytheme_preprocess_node(& $variables ) { if ( $variables [ 'type' ] == 'page' ) { $variables [ 'theme_hook_suggestions' ][] = 'node__custom' ; } } |
没错!我们的自定义模板建议通过Drupal的主题预处理函数添加。对这方面不太熟悉的朋友可以查看我以前写的有关Drupal预处理函数的几篇文章,文章链接在本文下方的相关文章列表里。
这个函数的作用:添加了名为node--custom.tpl.php的模板建议。if中的条件$variables['type'] == 'page'可以根据你的需求进行扩展......
好了,没时间了。明天再见......
来自 http://mydrupal.org/drupal%E6%A8%A1%E6%9D%BF%E5%BB%BA%E8%AE%AEtemplate-suggestion%EF%BC%88%E4%B8%8B%...