首页 > 其他分享 >destoon自定义一个archiver内容文档

destoon自定义一个archiver内容文档

时间:2023-09-17 17:33:23浏览次数:50  
标签:destoon 自定义 title mid month archiver DT linkurl page

  在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)

标签:destoon,自定义,title,mid,month,archiver,DT,linkurl,page
From: https://www.cnblogs.com/68xi/p/17709273.html

相关文章

  • 统信服务器1050a自定义镜像制作
    原文链接:统信服务器1050a自定义镜像制作hello,大家晚上好啊,今天为大家带来一篇如何制作统信uos服务器操作系统1050a的文章,基于centos8自定义ISO镜像来学习相对来说是比较快的,今天先介绍一种方法,如何将标准版镜像中的rpm包进行替换,替换成我们所做过更新的rpm包,操作相对来说比较简单,后......
  • 【设计模式】解释器模式Interpreter Pattern:实现自定义配置规则功能
    解释器模式使用频率不算高,**通常用来描述如何构建一个简单“语言”的语法解释器。**它只在一些非常特定的领域被用到,比如:编译器;规则引擎;正则表达式;SQL解析等。不过,了解它的实现原理,可以帮助思考如何通过更简洁的规则来表示复杂的逻辑。模式原理分析解释器模式的原始......
  • Bash-变量(自定义/预定义/环境/位置参数)
    变量设置规则变量名称可由字母、数字和下划线组成,但不能以数字开头(与python命名规则一致)Bash中,变量的默认类型都是字符串型,如果要数值运算,则必须指定变量为数值型变量由=连接值,等号左右两侧不能为空变量的值如果有空格,需要用单引号或双引号包含变量的值可以使用'\'转义符......
  • pandas-自定义函数映射
    自定义函数目录自定义函数自定义操作map()自定义操作apply()对指定轴的操作,聚合,统计对每个数值进行转换自定义操作applymap()参考资料自定义操作map()map,用于Series实现每个值得处理map()是一个Series的函数,map()将一个自定义函数应用于Series结构中的每个元素(elements)......
  • java 加密 AES加密 加盐加密 自定义加盐 自定义密码加密
    效果: 项目下载地址:AESDemo 地址二 提取码:6666                         参考:http://www.asfx.xyz/p/e3124067382f4c6a9fb1b43fc799b5e5 ......
  • Vue学习五:自定义指令、插槽
    一、自定义指令自定义指令:自己定义的指令,可以封装一些dom操作,扩展额外功能全局注册语法Vue.directive('指令名',{"inserted"(el){//可以对el标签,扩展额外功能}})ViewCode局部注册语法directives:{"指令名":{"inserted"(el){......
  • 在 Java 中自定义反序列化:实现可序列化接口
    实现可串行化接口的功能Serialized接口用于管理Java默认序列化机制使用的序列化和反序列化过程。Java虚拟机(JVM)通过该类的Serialized接口实现来指示该类是否具有可序列化和反序列化的能力。该接口不仅有利于序列化,而且还使开发人员可以自由地更改默认的反序列化行为。由......
  • 自定义类型—枚举,联合(结构体,枚举,联合)3
    枚举类型是可以赋予初值的,即使不赋予,系统默认也会赋予初值,从0开始自增1。枚举类型的大小是系统定义的,一般为一个整型。枚举是创建一种类型,一种枚举类型,define只是定义的标识符,系统计算的时候还是按照赋予的值来进行运算的。结构体创建的也是一种类型。enumColor{ RED, YELLOW,......
  • 低代码开发平台 一款自定义软件开发平台源码
    低代码PaaS平台源码 采用对象方式实现字段、API的字段类型,引入RPA实现表自动化建模;再使用选择方式对地段功能进行选择定义甚至可以插入代码进行自定义。数字化转型的迫切需求随着数字科技的发展,各行各业对于新技术解决方案的需求也在逐日递增,非技术人员也开始被要求在短时间内构建......
  • SpringBoot 自定义starter汇总
    1、SpringBootstarter机制SpringBoot中的starter是一种非常重要的机制,能够抛弃以前繁杂的配置,将其统一集成进starter,应用者只需要在maven中引入starter依赖,SpringBoot就能自动扫描到要加载的信息并启动相应的默认配置。starter让我们摆脱了各种依赖库的处理,需要配置各种信息......