Drupal:在Multisite之间共享内容

时间:2010-03-09 16:13:40

标签: drupal

我有两个内容类型相似的网站。

让我们说一个事件内容类型,其中包含一些cck字段。

site1:事件(标题,正文,图片) site2:事件(标题,正文,图像,onsite1)

通过site2-events的额外字段,我想让用户有可能在(主)site1上发布他的事件。

Site1和site2都在1个数据库上,尽管来自site2的表是前缀。

如何将site2制作的内容添加到site1? (有没有一种简单的方法可以在不使用sql的情况下执行此操作?我在此时使用nodeapi在提交事件时执行一些额外操作。)

3 个答案:

答案 0 :(得分:1)

既然你说你已经在使用hook_nodeapi,那么你可以这样做:

if ($op == 'insert' && (see if checkbox is checked here))

...然后switch to the other site's database,执行node_save,然后切换回当前站点的数据库,让Drupal完成其业务。

答案 1 :(得分:1)

你可能能够使用db_set_active(),因为Mike-Crittenden描述它,即使它在同一个数据库中,因为$ db_url和$ db_prefix都可以是数组,而不是单个字符串。

这样,您可以为“default”和“alternative”db使用相同的db_url,但使用不同的前缀在数据库之间切换,使用db_set_active('alternative')和db_set_active()返回默认值。

答案 2 :(得分:0)

很多人都使用Feed API / Feeds module。您可以按分类术语,内容类型以及您需要的任何内容进行过滤,这样您就不必从主站点导入所有内容。伟大的工具。