在提交时自动更新drupal节点

时间:2011-04-11 14:43:39

标签: drupal-6

是否可以在提交时自动更新drupal节点的内容?

将图像添加到节点时,它们存储为< img src =“http:// myserver / sites / ....”>

但是,我们经常将内容分发给客户服务器,因此“myserver”不正确。如果我使用< img src =“/ sites /....”>任何人都可以预见到任何问题(drupal总是安装在根级别)。

如果这不会导致任何问题,是否可以实现自动化,那么当添加任何新内容时,它会扫描“http:// myserver / sites”并替换为“/ sites”?

提前致谢,

马丁

1 个答案:

答案 0 :(得分:2)

我认为细节确实依赖于您上传图片的方式......使用默认Upload moduleFileFieldImageField的组合(我建议后者)。

无论哪种方式..您应该能够使用hook_nodeapi()的实现自动调整节点(当$ op =='presave'时)。这样做需要custom module,但不要被这样做吓倒,设置起来非常简单。

要查看该挂钩期间发生了什么,所以您可以确保您的文件信息已存在并准备好进行编辑..执行此操作(在开发服务器上!):< / p>

drupal_set_message("<pre>".print_r($node,true)."</pre>")

这应该显示$ node对象中发生了什么,如果你能找到文件路径,你应该能够在它进入数据库之前对其进行编辑。

当$ op =='view'时,您也可以使用相同的挂钩更改输出。