欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

discuz! 解析head.htm的php文件是哪个呢

程序员文章站 2022-05-15 19:38:31
...
因为要做门户导航,所以需要在每个列表页中都加,而导航需要这个数组:
$res=DB::fetch_all("SELECT * FROM %t",array('portal_category'));
我在portal_index.php中加了这一代码,但是别忘了,还有其他列表页呢,如果不加上这段代码,导航在其他的列表页就不显示.
但是如何每个页面都加,可以是可以,那代码重复太多了,假如要有有一个解析头部htm的php文件就好了,不知是哪个呢,或用别的方法能解决吗?


回复讨论(解决方案)

你可尝试把 head.htm 换个名字(head.html)
通过错误信息来找到

你是说板块列表页?就写在forum.php这个入口文件里吧
若是全站都要使用,你就把它加到$_G里面,初始化的时候就获取到,\source\class\discuz\discuz_application.php这个文件里面加

你是说板块列表页?就写在forum.php这个入口文件里吧
若是全站都要使用,你就把它加到$_G里面,初始化的时候就获取到,\source\class\discuz\discuz_application.php这个文件里面加


不是版块列表页,是门户列表页,做门户不是要建很多频道栏目吗,这些栏目不是要挂接在很多栏目列表上吗,我指的是这些栏目列表页.它们是htm模板
这种情况不知怎么加呢?还有,我听说加在$_G中,对于安全不好,不知理解对吗?

你可尝试把 head.htm 换个名字(head.html)
通过错误信息来找到


通过这种方法,没有出现提示错误信息

你是说板块列表页?就写在forum.php这个入口文件里吧
若是全站都要使用,你就把它加到$_G里面,初始化的时候就获取到,\source\class\discuz\discuz_application.php这个文件里面加


我的这句数组是: $res=DB::fetch_all("SELECT * FROM %t",array('portal_category'));
而我看了一下 discuz_application.php里面怎么怎么进去呢?
没有找到 DB::的写法呢?

门户列表页指的是这些,如图:

没玩过discuz的门户,频道
discuz_application.php里面改是可以改,但是一般不建议改,那是核心文件,我都没动过...

还有就是portal_index.php这个是门户的入口文件,你将$res=DB::fetch_all("SELECT * FROM %t",array('portal_category'));写在这个文件里面,其它列表页都应该能用到才对,否则就是你的其它列表页不是从这个文件进入的(如板块的列表就是从forum.php文件进入的)
请贴出不能用到此结果($res)的列表页链接看看

没玩过discuz的门户,频道
discuz_application.php里面改是可以改,但是一般不建议改,那是核心文件,我都没动过...

还有就是portal_index.php这个是门户的入口文件,你将$res=DB::fetch_all("SELECT * FROM %t",array('portal_category'));写在这个文件里面,其它列表页都应该能用到才对,否则就是你的其它列表页不是从这个文件进入的(如板块的列表就是从forum.php文件进入的)
请贴出不能用到此结果($res)的列表页链接看看


起初我确实把 $res=DB::fetch_all("SELECT * FROM %t",array('portal_category'));放在了portal_index.php中,但只有它解析的index页能获取数组,其他列表页解析模板如 portal_list.php不能获取,所以我请教的.后来我又独立建了一个php文件,取名为class_portalarr.php文件,放在了/source/class/之下,专门存放门户所需的数组的,并且需要的页面我都通过 require的形式加进所需要的页面中了,此时确实能自动获取了.

我建立的页面主要部分是如下代码,但不知这样安全吗?还有,这样做是不是 野路子呢,存是我自己胡想的.

这样也可以,只要能获取到,不存在什么野路子,二次开发就是要改别人的代码,首先要实现,再是优化