热搜:NVER node 开发 php

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

2024-08-20 23:05:01
discuz! 解析head.htm的php文件是哪个呢

因为要做门户导航,所以需要在每个列表页中都加,而导航需要这个数组:
$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的形式加进所需要的页面中了,此时确实能自动获取了.

我建立的页面主要部分是如下代码,但不知这样安全吗?还有,这样做是不是 野路子呢,存是我自己胡想的.
<?php/** *      [Discuz!] (C)2001-2099 Comsenz Inc. *      This is NOT a freeware, use is subject to license terms * *      $Id: forum.php 33828 2013-08-20 02:29:32Z nemohou $ */if(!defined('IN_DISCUZ')) {	exit('Access Denied');}$res=DB::fetch_all("SELECT * FROM %t",array('portal_category'));?>

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