通常调用板块使用diy即可,不方便diy的时候就需要用代码获取。此代码来源于关于我们插件,只是提取出了一些代码供其它地方使用,或许从disucz.htm中摘取也可以,需要单独页面使用,与论坛首页,分区,门户文章模板变量冲突。
1.php代码,将此代码另存为testsitemap.php,放在网站根目录(名字不强制,调用时与之统一即可,存放位置按需求,调用时写明路径即可)
- <?php
- /**
- * 网页地图获取程序
- */
- if(!defined('IN_DISCUZ')) {
- exit('Access Denied');
- }
- require_once libfile('function/forumlist');
- $newthreads = round((TIMESTAMP - $_G['member']['lastvisit'] + 600) / 1000) * 1000;
- $catlist = $forumlist = $forumname = array();
- $todayposts = 0;
- $postdata = $_G['cache']['historyposts'] ? explode("\t", $_G['cache']['historyposts']) : array(0,0);
- $postdata[0] = intval($postdata[0]);
- $postdata[1] = intval($postdata[1]);
- if(!defined('FORUM_INDEX_PAGE_MEMORY') || !FORUM_INDEX_PAGE_MEMORY) {
- $forums = C::t('forum_forum')->fetch_all_by_status(1);
- $fids = array();
- foreach($forums as $forum) {
- $fids[$forum['fid']] = $forum['fid'];
- }
- $forum_access = array();
- if(!empty($_G['member']['accessmasks'])) {
- $forum_access = C::t('forum_access')->fetch_all_by_fid_uid($fids, $_G['uid']);
- }
- $forum_fields = C::t('forum_forumfield')->fetch_all($fids);
- foreach($forums as $forum) {
- $forum = array_merge($forum, $forum_fields[$forum['fid']]);
- if($forum_access['fid']) {
- $forum = array_merge($forum, $forum_access[$forum['fid']]);
- }
- $forumname[$forum['fid']] = strip_tags($forum['name']);
- $forum['extra'] = empty($forum['extra']) ? array() : dunserialize($forum['extra']);
- if(!is_array($forum['extra'])) {
- $forum['extra'] = array();
- }
- if($forum['type'] != 'group') {
- $todayposts += $forum['todayposts'];
- if($forum['type'] == 'forum' && isset($catlist[$forum['fup']])) {
- if(forum($forum)) {
- $catlist[$forum['fup']]['forums'][] = $forum['fid'];
- $forum['orderid'] = $catlist[$forum['fup']]['forumscount']++;
- $forum['subforums'] = '';
- $forumlist[$forum['fid']] = $forum;
- }
- } elseif(isset($forumlist[$forum['fup']])) {
- $forumlist[$forum['fup']]['todayposts'] += $forum['todayposts'];
- if($_G['setting']['subforumsindex'] && $forumlist[$forum['fup']]['permission'] == 2 && !($forumlist[$forum['fup']]['simple'] & 16) || ($forumlist[$forum['fup']]['simple'] & 8)) {
- $forumurl = !empty($forum['domain']) && !empty($_G['setting']['domain']['root']['forum']) ? 'http://'.$forum['domain'].'.'.$_G['setting']['domain']['root']['forum'] : 'forum.php?mod=forumdisplay&fid='.$forum['fid'];
- $forumlist[$forum['fup']]['subforums'] .= (empty($forumlist[$forum['fup']]['subforums']) ? '' : ', ').'<a href="'.$forumurl.'" '.(!empty($forum['extra']['namecolor']) ? ' style="color: ' . $forum['extra']['namecolor'].';"' : '') . '>'.$forum['name'].'</a>';
- }
- }
- } else {
- if($forum['moderators']) {
- $forum['moderators'] = moddisplay($forum['moderators'], 'flat');
- }
- $forum['forumscount'] = 0;
- $catlist[$forum['fid']] = $forum;
- }
- }
- unset($forum_access, $forum_fields);
- } else {
- require_once DISCUZ_ROOT.'./source/include/misc/misc_category.php';
- }
- ?>
复制代码
2.调用代码,这里的html代码可更改,样式自定:
- <div>
- <!--{eval require_once DISCUZ_ROOT.'/testsitemap.php';}-->
- <!--{eval $gidiconnum = 0;}-->
- <!--{loop $catlist $key $cat}-->
- <!--{eval $caturl = !empty($cat['domain']) && !empty($_G['setting']['domain']['root']['forum']) ? 'http://'.$cat['domain'].'.'.$_G['setting']['domain']['root']['forum'] : '';}-->
- <!--{eval $gidiconnum ++;}-->
- <div class="box_5">
- <!--{eval $forumsss = 0;}-->
- <!--{loop $cat[forums] $forumid}-->
- <!--{eval $forum=$forumlist[$forumid];}-->
- <!--{eval $forumsss += $forum[todayposts];}-->
- <!-- 占位注释 -->
- <!--{/loop}-->
- <div class="fs_title">
- <div class="left"><span class="map_bt"><a alt="$cat[name]" href="{if !empty($caturl)}$caturl{else}forum.php?gid=$cat[fid]{/if}" target="_blank">$cat[name]</a></span></div>
- <div class="right"></div>
- </div>
- <div class="blank10"></div>
- <div class="map_list">
- <!--{eval $fidnum = 0;}-->
- <!--{loop $cat[forums] $forumid}-->
- <!--{eval $forum=$forumlist[$forumid];}-->
- <!--{eval $forumurl = !empty($forum['domain']) && !empty($_G['setting']['domain']['root']['forum']) ? 'http://'.$forum['domain'].'.'.$_G['setting']['domain']['root']['forum'] : 'forum.php?mod=forumdisplay&fid='.$forum['fid'];}-->
- <!--{eval $fidnum ++;}-->
- <a alt="$fidnum.$forum[name]" href="$forumurl"{if $forum[redirect]} target="_blank"{/if}>$fidnum.$forum[name]</a>
- <!--{/loop}-->
- </div>
- </div>
- <div class="blank10"></div>
- <!--{/loop}-->
- <div class="blank10"></div>
- <div class="blank10"></div>
- <div class="blank10"></div>
- </div>
复制代码
OK。
|