destoon自定义一个archiver内容文档

在archiver目录建立以下代码:

<?php
define('DT_REWRITE', true);
require '../common.inc.php';
$EXT['archiver_enable'] or dheader(DT_PATH);
//$DT_BOT or dheader(DT_PATH);
$N = $M = $T = array();
$mid or $mid = 5;
$vmid = $list = 0;
foreach($MODULE as $k=>$v) {
    if(!$v['islink'] && $v['ismenu'] && $v['moduleid'] > 4) {
        if($k == $mid) $vmid = 1;
        $v['url'] = $DT['rewrite'] ? rewrite('index.php?mid='.$k) : '?mid-'.$k.'.html';
        $N[] = $v;
    }
}
$vmid or $mid = $N[0]['moduleid'];
$table = get_table($mid);
$t = $db->get_one("SELECT MIN(addtime) AS mintime,MAX(addtime) AS maxtime FROM {$table} WHERE  status=3", 'CACHE');
$fromtime = $t['mintime'];
$fromyear = timetodate($fromtime, 'Y');
if($fromyear < 1990) $fromyear = 1990;
$frommonth = timetodate($fromtime, 'n');
$totime = $t['maxtime'] > $DT_TIME ? $DT_TIME : $t['maxtime'];
$toyear = timetodate($totime, 'Y');
$tomonth = timetodate($totime, 'n');
for($i = $toyear; $i >= $fromyear; $i--) {
    for($j = ($i == $toyear ? $tomonth : 12); $j >= ($i == $fromyear ? $frommonth : 1); $j--) {
        $r = array();
        $r['title'] = $MODULE[$mid]['name'].$i.'年'.($j < 10 ? '0' : '').$j.'月归档';
        $r['month'] = $i.($j < 10 ? '0' : '').$j;
        $r['url'] = $DT['rewrite'] ? rewrite('index.php?mid='.$mid.'&month='.$r['month']) : '?mid-'.$mid.'-month-'.$r['month'].'.html';
        $M[$r['month']] = $r;
    }
}
$head_title = $MODULE[$mid]['name'].'归档';
if(isset($month) && isset($M[$month])) {
    $list = 1;
    $y = substr($month, 0, 4);
    $m = substr($month, 4, 2);
    $ym = $y.'-'.$m;
    $t = timetodate(datetotime($ym.'-01'), 't');
    $ftime = datetotime($ym.'-01 00:00:00');
    $ttime = datetotime($ym.'-'.$t.' 23:59:59');
    $condition = "status=3 AND addtime>$ftime AND addtime<$ttime";   
    $num = $db->count($table, $condition, $CFG['db_expires']);
    $demo_url = $DT['rewrite'] ? rewrite($MODULE[1]['linkurl'].'archiver/index.php?mid='.$mid.'&month='.$month.'&page={destoon_page}') : '?mid-'.$mid.'-month-'.$month.'-page-{destoon_page}.html';
    $pages = pages($num, $page, $pagesize, $demo_url);
    $tmp = explode('<input type="text"', $pages);
    $pages = $tmp[0];
    if($num) {
        $result = $db->query("SELECT title,linkurl,addtime FROM {$table} WHERE $condition ORDER BY addtime DESC LIMIT $offset,$pagesize");
        while($r = $db->fetch_array($result)) {
            $r['adddate'] = timetodate($r['addtime'], 5);
            if(strpos($r['linkurl'], '://') === false) $r['linkurl'] = $MODULE[$mid]['linkurl'].$r['linkurl'];
            $T[] = $r;
        }
    }
    $head_title = $MODULE[$mid]['name'].$y.'年'.$m.'月归档'.($page > 1 ? '第'.$page.'页' : '');
}
include template('archiver', 'extend');
?>

然后在模板目录extend下建立:

<!doctype html>
<html>
<head>
<meta charset="{DT_CHARSET}"/>
<title>{$head_title}{$DT[seo_delimiter]}{$DT[sitename]}</title>
<link rel="stylesheet" type="text/css" href="{DT_SKIN}archiver.css?v={if DT_DEBUG}{DT_TIME}{else}{DT_REFRESH}{/if}"/>
<meta name="viewport" content="initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width"/>
</head>
<body>
<div id="nav">
{loop $N $i $m}
<div{if $mid==$m[moduleid]} class="on"{/if}><a href="{$EXT[archiver_url]}{$m[url]}"><span>{$m[name]}</span></a></div>
{/loop}
</div>
<div id="title"><strong>{$head_title}</strong></div>
<div id="content">
<ul>
{if $list}
{if $T}
{loop $T $t}
<li><em>{$t[adddate]}</em><a href="{$t[linkurl]}" target="_blank">{$t[title]}</a></li>
{/loop}
{if $pages}<div class="pages">{$pages}</div>{/if}
{else}
<li>暂无归档内容</li>
{/if}
{else}
{loop $M $t}
<li><a href="{$EXT[archiver_url]}{$t[url]}">{$t[title]}</a></li>
{/loop}
{/if}
</ul>
</div>
{if $DT[stats]}
<script type="text/javascript">
function Dstats() {}
{php include DT_ROOT.'/api/stats.inc.php';}
</script>
{/if}
</body>
</html>

这样效果就好了。

演示地址:教育资讯归档_醉学网 (nongpin88.com)http://www.nongpin88.com/archiver/

相关推荐
OkeyProxy3 小时前
設置Android設備全局代理
android·代理模式·proxy模式·代理服务器·海外ip代理
刘志辉4 小时前
vue传参方法
android·vue.js·flutter
前期后期7 小时前
Android OkHttp源码分析(一):为什么OkHttp的请求速度很快?为什么可以高扩展?为什么可以高并发
android·okhttp
轻口味9 小时前
Android应用性能优化
android
全职计算机毕业设计9 小时前
基于 UniApp 平台的学生闲置物品售卖小程序设计与实现
android·uni-app
dgiij10 小时前
AutoX.js向后端传输二进制数据
android·javascript·websocket·node.js·自动化
SevenUUp11 小时前
Android Manifest权限清单
android
高林雨露11 小时前
Android 检测图片抓拍, 聚焦图片后自动完成拍照,未对准图片的提示请将摄像头对准要拍照的图片
android·拍照抓拍
wilanzai11 小时前
Android View 的绘制流程
android
INSBUG12 小时前
CVE-2024-21096:MySQLDump提权漏洞分析
android·adb