查看單個文章
舊 2007-10-31, 03:03 AM   #15
yoching
浩瀚星空站長
 
註冊日期: 2005-04-04
住址: http://www.hstar.idv.tw
文章: 504
發送 MSN 訊息給 yoching
bY

引用:
作者: skiseiju 查看文章
我回來請教一下yoching...
大概是很笨的問題吧


看到後面的code我知道主要會列出tag的變數是$tag(這應該對吧?)
而$tag主要的內容來自於進去tags/index.php 中的db query
我現在的問題是,如果我不去讀取tags/index.php,要怎麼樣才能讓他執行這個db query,而讓$tag有資料出來....

感謝在先..
這樣的說法也不太對啦!!
這個tag/index.php主要的作用在於導向及參數的傳送運做。
其實他本身包含的插件中。就已經有相關的db query等語法
當然他的運做還是指向到tag/index.php

你想要不通過tag/index.php來取得資料的話。原則上你也是得要另外寫一個程序來讀取
不過那是沒必要的動作。

因為tag/index.php運做中,就有運用到vbb的內定變數。並且產生變數值給他
如$z_tags->init($vbulletin);這一類的變數。

上幾篇有說過。其實想要在首頁顯示。只要多加一個樣版出來就行了。
然後參照在主題列表中的插件就可以了。原因就在此。不需另外去執行tag/index.php

其主要的語法如下:
require_once(DIR . '/includes/class_zointstags.php');
$z_tags =& new zointstags_tags();
$z_tags->init($vbulletin);
$zointstags = $z_tags->load_tags($threadinfo['threadid'], false);
$first = true;

foreach ($zointstags as $zkey => $zointstag)
{
$zointstag_link = str_replace(' ', '-', $zointstag);
$zointstag_link = urlencode ($zointstag_link);

eval('$zointstags_tagbits .= "' . fetch_template('zointstags_showthread_tagbit') . '";');
$first = false;
}

就如我說過的。他已經有物件庫檔了。所以很好運作的。
其中的$zointstag_link就是連結的名稱了。
這裡還有包含到樣版。並用eval的方式將變數載入運作。
這裏是找出關鍵字的主題id

相關的調用db如下
$_tags = $db->query_read("
SELECT zoints_tag.tag, COUNT(*) count FROM " . TABLE_PREFIX . "zoints_tag zoints_tag
LEFT JOIN " . TABLE_PREFIX . "thread thread ON(zoints_tag.threadid = thread.threadid)
WHERE thread.forumid = " . $foruminfo['forumid'] . "
" . (!$vbulletin->options['zointstags_show_autogen'] ? 'AND autogen != 1' : '') . "
GROUP BY zoints_tag.tag
ORDER BY count DESC
LIMIT " . $vbulletin->options['zointstags_showtags']
);

$count = $db->num_rows($_tags);
while ($tag = $db->fetch_array($_tags))
{
$tags[$tag['tag']] = $tag['count'];
$max = max($tag['count'], $max);
$min = min($min, $tag['count']);
}
__________________
請按這裡進入-->
你有vbb的問題嗎??
可在此尋求協助。
浩翰星空站長 yoching
yoching 目前離線   回覆時引用此篇文章