您现在的位置是:首页 > cms教程 > DedeCMS教程DedeCMS教程

dedecms随机调用文章数据的方法

争赵2024-08-22DedeCMS教程已有人查阅

导读方法一,直接利用artlist中的orderyb=rand 即可实例。方法二,利用自定做法。1.增加以下dedecms自定义标签 randarc

方法一,直接利用artlist中的orderyb=rand 即可实例
例
代码如下 {dede:arclist row=10 orderby=rand}
<li><a href="[field:arcurl/]" target="_blank">[field:title/]</a></li>{/dede:arclist}
方法二,利用自定做法
1.增加以下dedecms自定义标签 randarc
function lib_randarc(&$ctag , &$refObj){
global $dsql;
FillAttsDefault($ctag->CAttribute->Items ,"limit|1");
extract($ctag->CAttribute->Items);
$s = '';
$tcp = new DedeTagParse();
$tcp->SetNameSpace("field",'[',']');
$tcp->LoadSource($ctag->GetInnerText());
$sql = $query = "SELECT se.*,tp.typedir,tp.typename,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath
FROM `dede_archives` se LEFT JOIN `dede_arctype` tp ON se.typeid=tp.id WHERE 1 order by rand() limit $limit";
$dsql->Execute("f",$sql);
while($row1 = $dsql->GetArray("f")){
$row1['arcurl'] = GetFileUrl($row1['id'],$row1['typeid'],$row1['senddate'],$row1['title'],
$row1['ismake'],
$row1['arcrank'],$row1['namerule'],$row1['typedir'],$row1['money'],
$row1['filename'],$row1['moresite'],$row1['siteurl'],$row1['sitepath']);
($tcp->CTags as $k => $v ){
$tcp->Assign($k , $row1[$v->GetName()]);
}
$s.=$tcp->GetResult();
}
return $s;
}
2:在dedecms文章模板中调用。
代码如下 {dede:randarc limit=1}<a href=[field:arcurl/]>[field:title/]</a>{/dede:randarc}
这样很简单的就完成了dedecms文章页面随机调用一篇文章的功能
首页随机调用文章并定时自动更新
要实现DEDE首页自动更新的前提是网站首页必须有随机文章,对于随机文章不懂的朋友看这里实现DEDE首页内页随机文章列表代码,熟悉的直接跳过。
{dede:arclist sort=’rand’ titlelen=48 row=16}
<li><a href=”[field:arcurl/]“ title=”[field:title/]“ target=”_blank”>[field:title/]</a></li>
{/dede:arclist}
这时首页每次更新的内容来源就有了,只是还不会自动生成更新的html文件,下面来说让dede自动生成首页的具体方法:
把下面的代码复制下来新建一个文本文档粘贴保存,然后把文件名改为rrsc_cn.php中的,上传到根目录。修改首页模板,在网站首页的<head></head>这部分加入<script src=”/rrsc_cn.php” language=”javascript“></script>这段代码,然后更新首页。
<?php
function sp_input( $text )
{
$text = trim( $text );
$text = htmlspecialchars( $text );
if ( !get_magic_quotes_gpc() )
return addslashes( $text );
else
return $text;
}
$autotime = 300;//自动更新时间,单位为秒,这里我设为5分钟,大家可以自行更改。
$fpath = ”../data/last_time.inc”;//记录更新时间文件,如果不能达到目的,请检查是否有读取权限。
( $fpath );
if( empty($last_time) )
$last_time = 0;
if( sp_input($_GET['renew'])==”now” )
$last_time = 0;
if( (time()-$last_time)>=$autotime )
{
define(‘DEDEADMIN’, ereg_replace(“[/\]{1,}”,’/',dirname(__FILE__) ) );
require_once(DEDEADMIN.”/../include/common.inc.php”);
require_once(DEDEINC.”/arc.partview.class.php”);
/*
$row  = $dsql->GetOne(“Select * From dede_homepageset”);
$dsql->Close();
$templet=$row['templet'];
$position=$row['position'];
*/
$templet = ”default/index.htm”;//这里是首页模板位置,当前是dede默认首面位置。
$position = ”../index.html”;
$homeFile = dirname(__FILE__).”/”.$position;
$homeFile = str_replace( ”\”, ”/”, $homeFile );
$homeFile = str_replace( ”//”, ”/”, $homeFile );
$pv = new PartView();
$pv -> SetTemplet( $cfg_basedir.$cfg_templets_dir.”/”.$templet );
$pv -> SaveToHtml( $homeFile );
$pv -> Close();
$file = ( $fpath, ”w” );
fwrite( $file, ”<?phpn” );
fwrite( $file, ”$last_time=”.time().”;n” );
fwrite( $file, ’?>’ );
fclose( $file );
}
?>

本文标签:

很赞哦! ()

相关教程

相关源码

  • 自适应黑色建筑装饰设计公司个人工作室pbootcms模板基于PbootCMS内核开发的黑金风格模板,为建筑装饰、工程设计类企业打造,采用‌开源架构‌,支持跨行业快速适配,核心优势如下: 查看源码
  • (响应式)轴承机械五金零件产品pbootcms落地推广单页源码下载为轴承、机械零件等工业产品打造的响应式单页模板,基于PbootCMS内核开发,助力企业快速构建专业级产品展示页面。模板采用工业风设计语言,突出产品参数与性能优势,适用于设备制造商、零部件供应商等B2B场景推广。查看源码
  • 自适应响应式绿色装修公司定制家居类pbootcms网站下载(自适应手机端)响应式全屋装修定制家居类网站pbootcms模板 绿色装修公司网站源码下载PbootCMS内核开发的网站模板,该模板适用于装修定制网站、装查看源码
  • (响应式)WordPress主题Ripro9.0博客免扩展二开版RiPro9.0是基于RiPro8.9版本深度二开优化的资源付费主题,源码修正,修复原版多处功能异常,确保系统稳定运行。支持虚拟主机环境部署,无需特殊服务器配置。查看源码
  • (自适应响应式)高新技术科技能源pbootcms网站HTML5模板本模板基于PbootCMS内核开发,为高新技术、科技研发、能源技术等科技型企业设计。采用HTML5+CSS3前沿技术,具备完善的响应式布局,能够自动适配手机、平板和电脑等多种终端设备。模板设计风格简约大气查看源码
  • (自适应)中英文双语外贸扬声器音响喇叭话筒网站模板免费下载为音响设备外贸企业设计的中英文双语网站模板,基于PbootCMS内核开发。适配扬声器系统、音频设备等产品的国际化展示需求查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐