需求是這樣的:
我要在門戶的首頁把頻道欄目迴圈出來,所以要在index.htm頁面中做一個loop迴圈,即然是loop,那麼肯定要給它一個數組,即存放頻道欄目的資料表 portal_category,
我的疑惑有兩點,
一, 如果要用系統內建的定義資料表的方法,那麼,我怎麼知道這個資料表定義在哪個數組中呢?
二,如果我自己定義,那麼這個數組sql出來的語句我要寫在哪裡呢?
回複討論(解決方案)
開啟:\source\module\portal\portal_index.php
在include_once template上面添加:
$res=DB::fetch_all("SELECT * FROM %t",array('portal_category'));
echo "
";
print_r($res);
echo "
";
訪問門戶首頁試試
開啟:\source\module\portal\portal_index.php
在include_once template上面添加:
$res=DB::fetch_all("SELECT * FROM %t",array('portal_category'));
echo "
";
print_r($res);
echo "
";
訪問門戶首頁試試
哦,我忘說了,我用的是discuz!x3.2版本,裡面沒有 include_once template
我把你說的代碼加在紅色位置處了,不知行嗎,我列印的結果是可以的,但不知這麼寫 規範嗎?
/-------------------------------------------------------------------------------------------
/**
* [Discuz!] (C)2001-2099 Comsenz Inc.
* This is NOT a freeware, use is subject to license terms
*
* $Id: portal.php 33234 2013-05-08 04:13:19Z andyzheng $
*/
define('APPTYPEID', 4);
define('CURSCRIPT', 'portal');
require './source/class/class_core.php';
$discuz = C::app();
$cachelist = array('userapp', 'portalcategory', 'diytemplatenameportal');
$discuz->cachelist = $cachelist;
$discuz->init();
require DISCUZ_ROOT.'./source/function/function_home.php';
require DISCUZ_ROOT.'./source/function/function_portal.php';
$res=DB::fetch_all("SELECT * FROM %t",array('portal_category'));
echo "
";
print_r($res);
echo "
";
if(empty($_GET['mod']) || !in_array($_GET['mod'], array('list', 'view', 'comment', 'portalcp', 'topic', 'attachment', 'rss', 'block'))) $_GET['mod'] = 'index';
define('CURMODULE', $_GET['mod']);
runhooks();
$navtitle = str_replace('{bbname}', $_G['setting']['bbname'], $_G['setting']['seotitle']['portal']);
$_G['disabledwidthauto'] = 1;
require_once libfile('portal/'.$_GET['mod'], 'module');
?>
你開啟的檔案錯了,你那個是門戶的入口檔案
你要寫在\source\module\portal\portal_index.php檔案裡
echo "
";
print_r($res);
echo "
";
這三句只是為了顯示出來給你看,你在前台的模版檔案中要loop的數組就是$res,數組名字自己換