代理加盟

2023全新代理计划,一站式模板建站,铜牌代理低至699元送终身VIP,独立代理后台,自营贴牌。

您现在的位置: 麦站网 > 织梦大学 > 使用教程 >

DedeCMS自定义宏标记静态页面部分动态显示

来源:本站原创 发布时间:2019-03-30 00:00:00热度:我要评论(0

麦站模板建站平台(10年经验),服务数万家企业,固定透明报价。域名注册、主机/服务器、网站源码一站式服务。实体公司,专业团队,值得选择!超过1000套模板已登记版权,合规合法建站,规避版权风险!【点击获取方案】

       静态页面相对动态页面更利于优化,其实本来没有太大区别,动态页面维护更方便,但用户每次访问都读取数据库,对服务器有一定要求。如果需要在静态页面增加动态内容主要有以下方法,一是用Ajax异步加载文章;二是用自定义宏标记。

       自定义宏标记并不是实时的,有缓存时间,本文将介绍的修改方法。

建立自定义宏标记随机动态调用文章

DedeCMS自定义宏标记

       增加名为Hot的标记,在正常显示内容里面填写随机文章通用标签(orderby根据实际情况修改),其他默认即可。

{dede:arclist row="10" titlelen="38" orderby="rand"}
<li><a href="[field:arcurl/]" target="_blank">[field:title/]</a></li>
{/dede:arclist}

DedeCMS自定义标记方法

       用js调用并取消缓存才能动态显示,下面橙色部分是增加内容。

<script src='/plus/mytag_js.php?aid=1&nocache=1' language='javascript'></script>

另一种自定义宏标记动态调用方法

       找到/plus/mytag_js.php,复制一份并另存为mytag_js_hot.php。打开该文件,替换成下面代码

<?php
/**
 *自定义标签js调用方式(调用热点文章)
 */
require_once(dirname(__FILE__).'/../include/common.inc.php'); 
require_once(DEDEINC.'/arc.partview.class.php'); 
if(isset($arcID)) $aid = $arcID; 
$arcID = $aid = (isset($aid) && is_numeric($aid)) ? $aid : 0; 
if($aid==0) die(" document.write('Request Error!'); "); 

//这是新加的代码,表示typeid 
if(isset($typeID)) $tid = $typeID; 
$typeID = $tid = (isset($tid) && is_numeric($tid)) ? $tid : 0; 
if($tid==0) die(" document.write('Request Error!'); "); 
$pv = new PartView($typeid=$typeID); 
$row = $pv->dsql->GetOne(" SELECT * FROM `dede_mytag` WHERE aid='$aid' "); 
if(!is_array($row)) 
{ 
$myvalues = " "; 
} 
else 
{ 
$tagbody = $row['normbody']; 
$pv->SetTemplet($tagbody, 'string'); 
$myvalues = $pv->GetResult(); 
$myvalues = str_replace('"','\"',$myvalues); 
$myvalues = str_replace("\r","\\r",$myvalues); 
$myvalues = str_replace("\n","\\n",$myvalues); 
$myvalues = " \r\n"; 
//file_put_contents($cacheFile, $myvalues); 
echo $myvalues; //不写入缓存文件,直接输出JS代码 
}

       这个方法本人未测试成功,推荐用第一种方法。

    转载请注明来源网址:https://www.xiuzhanwang.com/dedecms_jq/1368.html

    发表评论

    评论列表(条)

       
      QQ在线咨询
      VIP限时特惠