一个新drupal 模块的开发初步完成

By admin |

模块主要用来替换node body里面的内容的。找了drupal 官网,貌似没找到类似的模块。只有个stringoverrides模块,但是看说明,只能替换t()函数内的内容。这个自然不能满足需求。

自己写的模块,只在本地使用,等稳定了,放出来共享下。

drupal theme info 文件

By admin |

本文列出drupal 的theme info文件常用到的参数。经常写主题,每次都要到官网翻一下,麻烦。记录下,方便以后查阅,也方便大家。

drupal arg, drupal_lookup_path用法及小结

By admin |

drupal里面,有个arg函数,可以获得路径里面的相关参数.
比如当前路径是node/5,调用arg函数会有如下结果:
arg(0) : 返回 node;
arg(1) : 返回 5;
以此类推.

上面的情况,是针对路径没有alias的情况.
如果路径alias了,比如node/5,alias变成info.html,在这个页面调用arg函数会是什么结果呢?
关于这个,我亲自做过实验.
arg(1) 仍然返回 5.就是说arg返回的结果跟alias没关系.

下面讨论另外一个有趣的参数:
arg默认一般都是用一个参数.其实看arg函数原型,里面可以有两个参数.
arg($index,$path);只不过这个path默认就是当前路径了.
如果你要是用arg这个api,也很简单.
比如你自己的页面路径是product/apple/4.html
这样调用函数: arg(1,'product/apple/4.html');返回的结果就是apple.
所以arg是可以有两个参数的,我们可以用这个api来构建自己的应用.

php 表达式 两个等于号和三个等于号的区别 ==和===的区别

By admin |

php 表达式 两个等于号和三个等于号的区别 ==和===的区别;

之所以要写下这个,在程序里面犯了一个低级错误.下面的语句
if($type='image'){ return 'xxx';}
这种情况,条件永远成立的.所以一定会被执行.
难怪一直找不到错误原因.

只要条件改成$type=='image'即可.

说到这里,顺便讨论写题目中的话题.

Php中三个等号与两个等号的区别:【PHP “===”与“==”区别】

==你知道吧,是比较两个值

===也是一样的功能,但是===要求的比较严格

==会在把两个值自动转换成同类型后再比较,而===在比较前不转换
这样的话,
FALSE==0是成立的.
FALSE===0是不成立的.因为数据类型不一样.一个是bool,一个是整型.

暂且记录到这里.

Drupal 7多站点机制新探秘

By admin |

最近要研究点drupal 7方面的东西,基本构架跟drupal 6没多大变化,构架没变.
无意间在sites目录下面发现一个exaples.sites.php文件.说是用来做多站点的.刚开始没弄明白.按照drupal 6的机制做,居然行的通.
后来仔细阅读这个examples.sites.php文件,发现提供了另外一种思路.可以设置别名.

比如d6里面,sub.example.com必须使用sub.example.com这样的目录,drupal才能找到这个配置.这个目录名,很固定.不能改变.
但是在d7里面,可以改. 密码就在于这个examples.sites.php文件.仔细阅读发现一下步骤.
1:将这个example.site.php文件改名为sites.php;
2: 然后编辑sites.php文件加入这样一行:

$sites['sub.site.com'] = 'haha';

3:保存退出;在sites目录下建立一个haha文件夹.复制settings.php文件到haha文件夹下面.

剩下的那一套,熟悉d6多站点的,都明白了.

drupal 采集 开发札记

By admin |

今天对drupal 采集模块进行一次升级.
升级之后,对链接的匹配更强了.之前不能匹配论坛网页里面的link,里面很多table结构.

升级思路实在simple_html_dom写了一个finda方法,调用这个方法后,对连接的匹配大大加强了.

另外就是感觉simple html dom的功能还不够强大.听说phpquery不错.

抽个时间试试phpquery,如果真的够强大,又要重构代码了....一个考验细心的活....

还有个yql.
yql 是yahoo出的一款使用类似SQL的语言,来获取相应的数据,也很强大,无须任何类 库,可以直接调用,支持xpath,如果对SQL语句比较熟悉的话,可以考虑yql。

有空都试试吧.

drupal 6 ahah 终于被搞定了

By admin |

终于搞定drupal ahah了,两点注意
1: callback的menu type要是 MENU_CALLBACK;
2: #ahah属性的wrapper,必填.里面是一个id选择器,这个id选择器必须存在.
3: 最主要的实现原理还是drupal_json来拉取数据的.

无意间发现drupal views bulk operation(VBO)模块一个翻译上的bug

By admin |

做一个drupal项目,需要中文后台.用views bulk operation(VBO)来搭建后台内容管理.结果发现有个内容翻译汉化.无奈,只有看源码了,发现没有写在t函数里面,自然翻译不聊了.思索之后,稍作修改,即可翻译.记录如下: 

人生无常,明俊师兄一路走好!

By admin |

今天上大学QQ群,看到一个悲痛的消息,我的一个师兄去世了.他叫张明俊.曾经教过我们专业英语.

今年年初的时候,瘦猴同学在上海办婚礼请我们,还一起吃饭,晚上住在一起聊到凌晨两点多.

那个时候,状态很好,也很健谈.知识面很宽广.记忆力也很强悍.

谁想到,半年不到时间,这么一个人就无常的离开人世了. 留下一个老婆和孩子....

愿师兄一路走好!