转自:http://groups.drupal.org/node/10129
在drupal的user表中,我们除了看到常用的设置之外,还有一个字段很有意思,叫做data字段。
这个字段里面的东西一看就是序列化出来的,可以存储一些我们想要的东西。
那具体应该怎么用呢?
其实在使用user_save函数的时候,只需要传入随便的一个$key=>$value串,只要$key不是数据库中的字段,这个字段就会被默认写入到data字段里面。
而当你要使用的时候,你会发现$user里面除了data字段外,你刚刚添加的字段也被放入了这里。
在安装好简体中文的Drupal6之后,在后台的dbLog总是报错,说
Page not found: http://xxx.com/sites/default/files/languages/zh-hans_7ef4fd0affc863b9f6a81ef534bb7fda.js?9
怎么也不知道怎么回事,搜了一下,发现有这么一个帖子:
http://drupal.org/node/338630
里面有一个模块可以用,或者打一个patch,我用了模块,就解决了这个问题。呵呵
今天在做Drupal6的时候,发现一个问题,Drupal6的default目录的权限会被改成不可写。所以造成建立modules之类的文件夹失败。需要chmod +w default 才可以建立新的文件夹。
网上查了一下,找到了这个结果
Sites/Default folder permissions keep reverting!
结论是,drupal会不断的修改这个目录权限,以保证settings.php的安全,但是并不影响子文件夹的权限。所以default/files的权限不会因为这个改变。
刚刚在学习Drupal6上写模块,写一个menu的时候权限怎么也整不清楚了。
后来仔细看了手册,如下:
menu的array里面关于权限需要定义这样的几个东西:
access callback:
一个access的调用返回接口。如果不写,会默认调用user_access函数。这里可以写一个自定义的函数。
access argument:
access callback的参数。如果access callback的是user_access的话,这里就写你想要让访问的角色数组。如果不定义会默认为一个空数组。
那个部署以后怎么也登陆不了的问题原因终于找到了。
安装fckeditor的时候,如果想要file upload,需要配置一个东西,那就是settings.php的cookie_domain。如果这个被钉死在了你的测试域名上面,你做迁移的时候就会出现非常郁闷的事情:
登陆时输入用户名密码,然后就会出现:access denied的报错,很郁闷。
这个会让你没有办法做任何事情。好在解决了。浪费了好多时间。
Drupal对环境的要求比较高,所以部署Drupal要有一些步骤在里面,以下是我的一些心得:
1. 如果是在虚拟空间,第一重要的是要确认空间是不是支持Drupal,所以可以先上传一个Drupal上去,安装一下试试,或者把你的网站上传上去,但是把settings.php改回默认。最重要的是吧CCK和Views模块打开,看看能不能跑,否则你部署好了哭都来不及。
这两天遇到一个难题,就是实现中国的省市的下拉菜单联动功能,找了很多地方,像原来博客里面收藏的文章:
http://blue.live4all.co.il/~mooffie/cms/node/15 可以看到有不少方法可以实现。
但是这些方法都不是是需要Taxonomy,就是需要导入csv,我尝试了都不简单,后来想想可以使用jQuery来实现,实现效果还是不错的。下面一步一步来说一下:
原文名字是: HowTo: Drupal as database: A one to many scenario for displaying the data
现在不知道为什么改成了Displaying related nodes using Views and Contemplate
挺不错的文章,放在下面的链接:
http://drupal.org/node/134320
记录一下,万一又改名了找不到就郁闷了。
总是要在Drupal上试着架一些有趣的功能,或者直接做一些东西,需要很多的测试环境,而又希望自己的成果可以在任何地方都访问到,所以就想使用自己的Hostmonster空间来搭测试环境。
不过不想每一次都拷贝一份过去,建一个数据库,再建一个用户,太麻烦了。所以我就决定使用Drupal的MultiSite的功能来搭建一个单数据库,多环境,但是数据分离的测试环境。