2
六/094
六/094
关于drupal区块的小问题
drupal模块开发中经常用到区块的概念,将一些相关数据放到区块中,配合权限验证,将用户能看到的信息以区块的形式展示到用户浏览器中。不过区块是跟节点无关了,如果要根据当前节点页面的特性针对性的在区块中显示内容,我的做法是:
if (arg(0) == ‘node’ && is_numeric(arg(1)) { // 初步设想是仅仅当路径是’ node / 3 ‘,类似这样的地址时显示
$node = node_load(arg(1));
if (!$node->teaser) // 初步设想是节点以全节点方式显示的时候才有效(提高一点效率)
}
在调试的过程中发现,arg函数是和drupal内置的path模块无关的。也就是说如果给某个节点设置了path,比如给公司的帮助页面设置了path : www.target.com/help,那么arg(0)我们取到的还是node,而不是help。
另外, $node对象中的teaser属性指的是节点的摘要,而不是“是否以全文的方式显示”,这个跟nodeapi钩子,以及hook_view中的$teaser形式参数是不一样的,后者确确实实指的是“是否以全文的方式显示”,也就是说上面的判断是错误的。
09:54 on 六月 4th, 2009
路径“node/?/”往往是全文显示,其他通常都是 teaser 模式,能否用于判断?
00:45 on 六月 6th, 2009
博主,您好。我在drupalchina上看到您发的一些文章,对我帮助很大,能给我留个您的联系方式吗?以后还要多请教。再次感谢您的回复!
15:10 on 六月 17th, 2009
“关于我”里面有我的联系方式,欢迎交流。
21:40 on 六月 23rd, 2009
博主好,看了你的文章,虽然没怎么懂,但也觉得学到了不少。那我想请问一下,也是关于drupal的问题:如果想在drupal的数据层做手脚,也就是在所有node,taxonomy,comment,cck从数据库里取出值的时候,做一个简繁中文的转换(函数已有),不知该怎么做?我看了bootstrap和db_rewrite_sql,最后没想出来……(先不计效率问题)。
另外,如果要在一个.module文件里取出一个node里所有cck的值和label,不知可以怎么写呢?
谢谢!