如何使用Drupal搭建多个站点

如何使用Drupal搭建多个站点,第1张

随着需求的不断增多,当各个功能相互比较独立的时候,大家可能就需要搭建多个站点了.搭建多个站点的方式很多,比如说你可以完全的独立开来,使用不同的数据库,即便是drupal核心也是分开的你也可以共用一个drupal核心,使用不同的数据库还有就是共用一个drupal核心,共用部分数据库.

我的环境是vista系统,XAMPP集成环境。对于第一种方式,直接在htdocs目录下面多建几个子目录就可以了,然后分别创建多个数据库。我一般都采用这种方式,因为自己主要是测试学习使用,相应的url为http://localhost/drupal,http://localhost/ubercart等等,其中drupal,ubercart就是htdocs目录下面的子目录,然后分别创建两个数据库,分别设置settings.php文件就可以了。这种方式我想大家都会用。

接下来要介绍的是如何使用同一个drupal核心搭建多个站点,这里是两个。步骤如下,

1, 把drupal核心放到htdocs目录下,而不是下面的子目录中。在sites/all目录下面,创建两个子目录modules和themes,用来放置站点公用的drupal第3方模块和自定义模块,根据你的习惯,可以在sites/all/modules下面再创建两个子目录contrib和custom,前者放置drupal.org下载的drupal第3方模块,后者放置自己开发的drupal模块。

2, 在sites/all目录下面,新建两个子目录:drupal.zhupou.cn,ubercart.zhupou.cn这里面使用的是域名,在虚拟主机上,你需要设置对应的域名解析,以及子域名设置,我这里讲的仅仅是在本地,没有在虚拟主机上实践过。将sites/default目录下面的settings.php文件,分别拷贝到drupal.zhupou.cn,ubercart.zhupou.cn目录下面,并在这两个子目录下面分别创建modules和themes子目录,用途和上面所讲的一样。

3. 设置drupal.zhupou.cn/settings.php中的配置,主要包括$db_url,和$db_prefix,前者是配置的数据库,包括数据库名,密码。后者配置的是同一个数据库中,共用的部分,独有的部分,共用的部分使用‘shared’前缀,drupal.zhupou.cn自用的使用drupal前缀。所以先配置'default' =>' drupal_',

接着你把要共用的表分别列出来,比如共用用户标,下面就是:

'users'=>'shared_',

'users_roles' =>'shared_',

ubercart.zhupou.cn/settings.php的配置和前面一样,不过它的$db_prefix设置为

'default' =>'ubercart_',

公用和前者一样。当然你还需要设置sites/default/settings.php,设置方式和子站点一样,就是设置默认情况下,使用哪个站点。我经常设置$base_url这个设置,不过好像没有什么用,不设置也能工作。

4.在vista的hosts文件中,添加:

127.0.0.1 drupal.zhupou.cn

127.0.0.1 ubercart.zhupou.cn

5.重起apache,这样就搭起了两个站点,其它就和一个站点一样了。

建议你去看看官方论坛的那个实例,以及官方的demo。

标准的,左侧是树,右侧是tab的。

因为我一直是用的tree的插件,不是官方的tree,因此我看的官方demo+api,现写的一段

以下的ID之类的你改成你自己的

<script>

$(function(){

    $("tt").tree(

        //这里加url之类的

        ,{

        onClick:function(node){

            openPage(node)

        }

    })

    

    function openPage(node){

        //已经存在的选择

        if ($("#tabs").tabs('exists', node.text)) {

            $("#tabs").tabs('select',node.text)

        //否则添加tab

        }else{

            $("#tabs").tabs('add',{

                title:node,text,

                content:"xxx",

                closable:true

            })

        }

    }

})

</script>

 我找了api,官方demo。都没有找到怎么直接通过Node获得url的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11770150.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存