作为一个drupal业内人士,views模块一直是我的最爱。由此,views模块作者成了我的偶像了。
最近项目中,需要对views进行扩展,静下心来整理了些思路,形成了以下资料。
资料来源于drupal.org.当然是经过自己的整理的。
作为一个drupal业内人士,views模块一直是我的最爱。由此,views模块作者成了我的偶像了。
最近项目中,需要对views进行扩展,静下心来整理了些思路,形成了以下资料。
资料来源于drupal.org.当然是经过自己的整理的。
介绍一个神奇的drupal模块 conditional styles
这个模块,要和zen主题配合使用。使用如下的方法:
conditional-stylesheets[if IE 7][all][] = ie7specific.css
在zen子主题的info文件写上去。意思就是如果浏览器就加在ie7specific.css这个css文件,而对于其他浏览器,则不加载此css文件。这样你就可以在这个文件写你针对ie7的优化代码了。
以上是神奇之一。
神奇之二:
看此模块的源码(7.2x版本),只有两个函数
conditional_styles_preprocess_html();
conditional_styles_preprocess_maintenance_page();
使用此模块只需在自己主题的info(drupal 7)文件加入如下语句即可:
drupal 的theme_pager,可以提供快速的pager list输出,只要给定几个参数就可以了,这就极大的方便了我们。
一般来说,系统提供默认的pager list,但是我们可以在自己的程序中调用theme_pager,从而控制显示。下面给出代码片段,分为drupal 6版本和drupal 7版本,两者有些不同。
drupal 6版 theme_pager示例:
[php]
global $pager_page_array, $pager_total;
$pager_total[0] = 98;
$page = isset($_GET['page']) && is_numeric($_GET['page']) ? max(0, min($_GET['page'], 98)) : 0;
$pager_page_array[0] = $page;
$pager = theme('pager');
[/php]
今天是个好日子哈。
1:奥巴马总统选举胜出,连任世界第一总统。
2:我党十八大如期顺利召开。
3:本drupal博客PR从0直接跃升至3
哈哈哈
发布一个drupal 6小模块 ,上一个,下一个的。支持内容类型设定。
半年前写好的一个小模块,一直想发布,无奈drupal.org规矩太多。
在这里发布下,希望能对有需要的人有所帮助。
启用模块后,到 block页面就可以看到了,放置到自己指定的区域就可以了。
另外在block settings那里,可以配置一些参数。
模块下载地址:
http://dplor.com/wp-content/uploads/2012/10/prev_next.zip
entity_get_info(); entity_load($entity_type,$ids); entity_load_single($entity_type,$id);//这是entity api模块提供的api entity_uri($entity_type,$entity); entity_label($entity_type,$entity); entity_extract_ids($entity_type, $entity)
接触drupal 7快一个月了,用Drupal 7也做了一个政府站点。这个站点本来是asp做的,可能被攻击太多了,换成php来。界面基本没动。难得的是这家公司找到我,用drupal开发政府站点。这下那些官老爷可以放心了。
来说说drupal 7的一些变化。
最明显的,必须是entity概念。一两句说不清楚,另外我也不敢说自己已经掌握entity了,只能说熟悉了。说到entity,必须提到entity api这个模块。这个模块已经成为很多drupal模块的基础了。作者是fago。可能大家不熟悉。如果我说另外一个模块,你一定知道,那就是rules模块。没错,fago就是entity api和rules模块的作者。真是强悍的人啊!
在开发方面,entity概念的提出,对开发者而言的确是很大的福音。对于简单的开发,真是很方便。但是对于复杂的开发,就是考验你思维的时候了。比如commerce模块,也是基于entity。product,order,line item,discount。。。全是entity。
另外一个变化是数据库抽象层,这个目前开发还没用到,暂不做评论。
render(node_view(node_load(63)));
dpm(entity_get_info());
dpm(entity_get_info('node'));
$entity1 = new DrupalDefaultEntityController("user");
dpm($entity1);
$user = $entity1->load(array(1));
dpm($user);
drupal 7 模版文件templates.php的一点使用经验及小结
1:在drupal里面,page.tpl.php默认是没有根据content type来定制模版的。如果想根据content type定制模版怎么办?很简单。
找到当前主题下的template.php文件。一般的主题都有。如果没有,请创建。加入下面的代码:
function THEMENAME_preprocess_page(&$variables, $hook) { if (!empty($variables['node'])) { $node = $variables['node']; $variables['theme_hook_suggestions'][] = 'page__type__' . $node->type; } }
注意一下,一定要用下划线。
drupal 7 和 drupal 6 下使用jquery代码的一点差异
在drupal 6下面,jquery代码可以直接调用,如下面的形式就行,
[javascript]
$(document).ready(function(){
$(".topBar").hide();
$(".attractPolicy li").each(function(index){
var liNode = $(this);
var timeout;
})
});[/javascript]
但是在drupal 7下面,有点小差异,要用下面的形式才能起作用,
[javascript](function($) {
//code
})(jQuery);[/javascript]
具体用法:
Copyright © 2025