淄博网站建设的过程中遇到这样的问题,就是多个dedecms站点要共用一个数据库,那么该怎么解决呢?下面就我们日常操作来做下整理:
(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.chinaxinkekeji.com/uploads/allimg/',$newurl);
return $newurl;
}
(2)、修改文章页模板:将调用文章内容的标签:{dede:field.body/}改为:{dede:field.body function='replaceurl(@me)' /}