Utility

工具

Batch API示例代码

0
Vote up!

Drupal的很多内部组件都属于好用,但不好记的。这时候代码片段的作用就体现出来了。当然另一个选择是examples模块,但还是自己总结或者发现的可以随意更改的代码片段更适合自己,这里贴一个从网上找来的Batch API代码片段,用到类似的功能时可以参考。

写模块帮助文档的最佳实践

0
Vote up!

大家都知道,Drupal为模块帮助文档提供了几种形式:

Drupal用代码生成Ubercart立即购买按钮

0
Vote up!

听说还可以用Cart Links模块来解决,如果是用代码的话,可以参考以下代码:

关于积分和站内信

0
Vote up!

最近在做和积分,站内信有关的项目,遇到一些常用函数和心得,以代码片段的形式记录一下。

Drupal使用Libraries模块加载js和css

0
Vote up!

自定义CSS和JS可以在模块或主题里使用经典的Drupal内置机制加载(这里指的是drupal_add_css和drupal_add_js还有主题的info声明等方式)。但对于第三方插件或特效。JS和CSS是成组出现的,并且有时候我们还需要实现按需加载。Libraries模块的出现,渐渐形成了一个新的库文件加载方式和规范。

Drupal给用户添加角色和删除角色的代码片段

0
Vote up!

Drupal中用后台添加和删除角色十分简单,但有时我们需要在自定义模块中编程实现这个逻辑,可能是为了自动化,也可能是有额外的业务逻辑,给用户添加角色不像编辑节点那样load出来再save就行了,我们需要花点心思。

微调Drupal7的HOOK执行顺序

0
Vote up!

Drupal的HOOK执行顺序是通过模块的weight决定的,有微调需求的模块一般会在模块启动时检测weight,从而尽量让自己排在最前面或者最后面,但这么做会带来不确定性,这个问题一直比较困扰我们,通常的做法是尽量避开使用相同的HOOK,而是弄明白执行路径要经过多少个HOOK,然后将代码写在合适的HOOK里,但这么做并没有解决根本问题。

Drupal生成短链接

0
Vote up!

短链接有各种个样的用途,比如微博,比如手机短信,而且有各种个样的实现方案,比如随机字符串短链接,比如可读短链接等。这里不讨论短链接的原理,只是分享一种短链接的生成方法。

任何方案都有局限,如果采用,需要注意应用的规模。

Drupal删除节点修订版本的代码

0
Vote up!

这是从node模块里提取出来的,一般用于做一些数据处理时临时使用。

导出数据库并GZip压缩

0
Vote up!

通过drush和管道符链接gzip命令,可以实现导出数据库的同时进行gzip压缩。