测试修改了下Discuz!的默认主题,文件目录在/template/下的default就是Discuz!的默认主题,复制default为一个新的文件夹,然后改名字为自己定义的主题名,例如My_Templates,但是出现了提示“数据类型错误,请返回”,下面想办法解决这个问题.
注意主题目录下有个discuz_style_default.xml的文件,这个应该是描述主题信息的,把default改成自己的,里面的内容就随便改了改。在Discuz!后台->界面->风格管理已经能看到自己的主题,右面有个安装,然后就出现了这个问题 “数据类型错误,请返回” 很明显是xml的问题,因为我别的都没动。
排除写权限后,开始查看关于导入模板这块的源代码,在/source/function/function_importdata.php中第36行import_styles函数中,有两处调用getimportdata,而参数是固定的getimportdata(‘Discuz! Style’),在/source/function/function_admincp.php中找到getimportdata函数发现他会将第一个参数也就是’Discuz! Style’与xml文件中id为Title的item进行比较,如果不同则会报这个错误”数据类型错误,请返回”。
解决方法就是在模板目录下将discuz_style_*.xml中id为Title的item的文本节点的值改为Discuz! Style,就OK了,估计这个是默认值,要写入SQL的Template的表,我们做模版其实不要这么麻烦,再去写SQL的表值,也就这样不要动就可以了。
修改的时候,还要注意一下UTF-8的乱码识别问题.