如何在action模块中添加新动作
在开发网站时,安装了private message模块,用于站内发送短消息,现在想在action模块中添加个用于自动调用private message的动作,用于配合trigger在某种特定情况下可以自动发送短消息,请问应该如何实现?谢谢
在开发网站时,安装了private message模块,用于站内发送短消息,现在想在action模块中添加个用于自动调用private message的动作,用于配合trigger在某种特定情况下可以自动发送短消息,请问应该如何实现?谢谢
经过三个月的辛苦努力,Think in Drupal第4集的写作工作即将完工。第4集本身和2,3集没有直接联系,可以看作是第1集的姐妹篇。在这一集的Think in Drupal里面,主要讲解了一下内容:
基于Entity API自定义一个实体类型
Views的集成开发,如何导出views到代码里面,如果定义新的Views字段
Rules的集成开发,如何自定义一个动作,自定义一个条件,如何导出rules规则到模块代码里面。
上下文链接的集成
Drupal批处理(Batch)API
Drupal主题系统
Drupal最佳实践,代码安全、编码标准、GIt使用
Ctools插件开发,如果自定义一个插件类型,
本集,以自己编写的Breadcrumb2模块和Field Validation模块为主线,介绍了Drupal7模块开发中的常用技术。
预计将会在2012年12月底完工,2013年1月上旬,将会在thinkindrupal.taobao.com上面出售。
Drupal中的hook顺序问题,这是刚学Drupal开始时,经常遇到的一个问题,因为Drupal中的hook很多,有些hook,它的执行顺序,对后面的是有影响的。
比如hook_form_alter,如果一个多个模块,同时使用hook_form_alter修改同一个表单,这个时候,先后顺序不一样,效果可能也就不同。
在drupal7中,为了解决hook的顺序问题,我们可以调整模块的重量,比如我在Field
Validation模块中,就使用了下面的代码:
/**
* Implements hook_install().
*/
function field_validation_install() {
db_query("UPDATE {system} SET weight = 10 WHERE name = 'field_validation'");
}
通过将field_validation'模块的重量设置为10,从而让这个模块的钩子实现,放在靠后的位置执行。
凡是购买Think in Drupal中文资料的用户,在购买成功后,可以增送一个thinkindrupal.com账号。thinkindrupal.com是老葛的个人博客,原名zhupou.cn,现在更名为了thinkindrupal.com.现在网站关闭了注册功能,主要是因为垃圾用户太多,很多都是发广告的,前段时间清空了大量的垃圾用户,但是也有部分真实的用户被清除掉了。
当您收到我们快递Think in Drupa资料以后,评价完毕,注意,只有给我们好评的客户,才会增送thinkindrupal.com账号。您可以通过旺旺、QQ、或者邮件,告诉老葛,你想要的用户名、密码。老葛会通过thinkindrupal.com的后台为您创建对应的账号。对于只提供用户名的,创建的密码与用户名将会一致,请登录后修改您的密码。
有关资料中的各种问题,请大家发到thinkindrupal.com的论坛里面来,通常放到“有问有答”就可以了。对于与资料相关的问题,我们会第一时间及时的给您答复。
很多人刚接触Drupal的时候,总是感觉Drupal很慢,即便是在本地,装了几个Drupal模块以后,感觉就跑不动了。这个本身和本地环境的配置也有关系,建议修改php.ini文件,将PHP的内存,执行时间都调的大一点。这样就不会感觉慢了。
模块不要装太多,尤其是安装量比较小的Drupal模块,更应该注意。模块太多,对于性能的拖累也是非常明显的。
网站上线后,建议开启所有的缓存。性能优化的关键就在于缓存。有各种层次的缓存技术,具体可以参看Think in Drupal 第三集里面,有关性能优化的介绍。
Drupal6比Drupal5慢, Drupal7比Drupal6慢,Drupal8比Drupal7慢。其中,Drupal7的性能问题最为突出,性能比Drupal6慢很多。Entity API模块用的时候,要小心,很吃内存,也存在潜在的性能问题。顺便说一句,Commerce比Ubercart慢,具体慢多少,没有实际测试过,这是应该的,Commerce大量的使用Entity API,对性能影响很大,性能问题一直也是让commerce头疼的问题。
Drupal模块开发过程中,经常需要获取当前路径,获取当前路径别名:
获取当前当前路径:
current_path
适用Drupal7,Drupal8
获取当前当前路径别名:
drupal_get_path_alias
适用Drupal6,Drupal7,Drupal8
获取当前内部路径:
drupal_get_normal_path
适用Drupal6,Drupal7,Drupal8
获取当前路径别名(或路径):
request_path
适用Drupal7,Drupal8
如果是给中国客户搭建Drupal网站的话,客户经常提出一些花俏的小功能,比如说滚动公告,如果实现,这也是初学者经常问的问题。
滚动公告,一听名字,可能很多人,不知道怎么回事,和Drupal联系在一起,如何使用Drupal实现滚动公告?下面是个例子
其实在Drupal中实现滚动公告,只需要创建一个静态区块即可,通过Drupal后台创建静态区块,这个是最基本的功能,我想大多数人都知道。
在区块里面加上一个html标签,<marquee> ... </marquee>,这样就搞定了。
滚动公告这个效果,有时候又被人称之为跑马灯,很早以前自己就谢过一片文章:http://www.thinkindrupal.com/node/2903, 里面介绍了这个效果。
最近有人问如何在Drupal实现滚动公告这个问题,这里再重新写一遍,介绍一下。