[size=13.333333969116211px]版本:X3.1
问题:小弟刚学习discuz不久,想用discuz做门户网站。之前网上下过一些模板,觉得不是很满意,今天拷贝了一份默认模板,打算在这个的基础上修改。
修改好首页,显示正常之后,打算修改文章列表的模板。不过发现修改文章列表模板之后,进入页面模板还是没有变化。然后我尝试直接修改默认模板,发现这时候页面根据我的修改发生了变化。我已经在后台->界面->模板管理中添加了我自己的模板,然后在后台->风格管理中也将页面风格选择了我自己设计的模板。但是在文章列表页面中的模板还是原来的默认模板,但是也有一点奇怪的是页面开头的模板(header部分)的风格是我自己设计的风格,只是header之后的主要内容部分的模板还是默认的模板。
之后我跟踪了一下代码执行的顺序,首先执行的是根目录下的portal.php文件,最后的一句:
- require_once libfile('portal/'.$_GET['mod'], 'module');
复制代码
如果是首页的话,$_GET['mod']='index',如果是文章列表页面的话,$_GET['mod']='list'。
之后执行的是source/module/portal目录下对应的php文件。
如果进入的是首页的话,执行的portal_index.php,最后一句为:
- include_once template('diy:portal/index');
复制代码
跟踪template函数,此时$tpldir为string(27) "data/diy/./template/style1/" string(17) "./template/style1" string(17) "./template/style1",其中./template/style1是我设计的模板的文件夹。
如果进入的是文章列表页面,执行portal_list.php,最后一句为:
- include template('diy:'.$file, NULL, $tpldirectory, NULL, $primaltplname);
复制代码
查看$file为portal/list:6,$tpldirectory为./template/default,$primaltplname为portal/list。
向上查看代码发现$tpldirectory和$primaltplname的值是由$_G['cache']['portalcategory'][$catid]["primaltplname"]中提取而来,而改值为string(30) "./template/default:portal/list",指向的仍是默认模板。似乎我该了风格之后,该值并没有指向我设计的模板的位置,导致页面显示不对。
另外,从文章列表中进入文章显示的页面风格也不对,追踪./source/module/portal/portal_view.php,最后一句为:
- include_once template("diy:portal/view:{$catid}", NULL, $tpldirectory, NULL, $articleprimaltplname);
复制代码
其中,$tpldirectory为./template/veikei_dz_life_20130810_plus,而veikei_dz_life_20130810_plus这个文件夹是我之前通过discuz下载安装的模板之一,已经被我删除掉了,但是这个值仍然指向这个已经不存在的文件夹。
现在一头雾水,感觉可能有什么设置文件可以统一将这些变量都修改回来?但是小弟刚接触discuz,还有很多不清楚,希望大家能指导一下小弟啊。 |
|
|