当前位置: 首页 > 后端 > dedecms >

dedecms 实现两个网站调用一个数据库,拥有不同的

时间:2020-09-18 17:34来源:未知 作者:admin 点击:
dedecms 实现两个网站调用一个数据库,拥有不同的数据,比如PC端和移动端调用同一个数据库却拥有各自的数据互不干涉。 (1)在原有程序的基础上(原来的网站,我们这里叫PC站),新建一个

dedecms 实现两个网站调用一个数据库,拥有不同的数据,比如PC端和移动端调用同一个数据库却拥有各自的数据互不干涉。

(1)在原有程序的基础上(原来的网站,我们这里叫PC站),新建一个wap目录(这里叫移动站,也可以单独建目录),把dedecms的程序上传,安装(安装的时候修改表前缀,随便起一个表前缀,切不可覆盖原有的数据);安装完以后是一个正常的网站,修改移动站数据库的配置,common.inc.php文件中的$cfg_dbprefix = 'dede_';把数据表前缀改成PC站的数据表前缀,这时候,两个网站都调用的是同一个数据库。这时候进后台,你会发现,移动站的后台出现了和PC端一样的数据。同时问题也出现了,修改移动端栏目生成目录的时候,PC端的网站也跟着变了。

(2)我们在后台观察,系统——系统基本参数——Dedecms系统配置参数:都是dede_sysconfig这个数据表中。我们把这个数据表复制一份,复制成dede_sysconfig3g; 用phpmyadmin打开数据库,在sql语句里执行复制表操作:create table dede_sysconfig3g select * from dede_sysconfig,这时候数据库多出一个叫dede_sysconfig3g的表;如何让移动端的程序调用这个表的数据呢?

(3)我们用DW新建站点(放整个移动端的网站),查找范围是整个当前本地站点,sysconfig替换成sysconfig3g;这时候你会发现,在移动端修改DedeCMS系统配置参数时,PC端不变了,这样就实现了两个网站调用同一数据库的数据,且生成的文章在不同的路径下;

 

 注:如果修改了文件保存目录,可以按上面的方法,把dede_arctype这个表也复制一份,dede_homepageset、dede_addonspec 这两个表也可以复制。

 

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

 

经过上面的处理,pc站跟手机站可以同用一个数据库了,但还有一个问题,那就是文章内图片的显示,如果定了尺寸,图片尺寸过大的话,在手机上显示就不全了,怎么办呢?

可以在插入图片时,把图片尺寸删除,然后在pc站的样式里加入一个图片最大显示尺寸(max-width:xxx),手机站样式加(max-width:100%),这样图片就会按比例显示,两边都正常了!

 

@ 图片路径的问题

出现问题:在主站上传到文章里的图片,在手机站里路径不对,解决方法:

1、始终在一个主站里上传图片

2、在手机站里修改一下文件:

(1)、/include/extend.func.php增加函数:

function replaceurl($newurl)

{

$newurl=str_replace('src="/uploads/allimg/','src="http://www.xxx.com/uploads/allimg/',$newurl);

return $newurl;

}

(2)、修改文章页模板:将调用文章内容的标签:{dede:field.body/}改为:{dede:field.body function='replaceurl(@me)' /}

 

生成文章,图片显示了。



转载:http://blog.sina.com.cn/s/blog_62987afa0102w6pz.html

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------