dedecms内容随机调用标签相关知识总结

08-21 39阅读 0评论

在dedecms 当中, 在文章详情页推荐的文章,很多时候都是一些最新的,最热门的等等。但是还有很多冷门的旧文章,默默得躲在角落里,所以需要我们通过随机推荐的方法把这些内容展示出来。

 

如标签:

 

{dede:arclist row='1000' pagesize='10' titlelen='35' orderby='rand'} 

<li><a href="[field:arcurl/]">[field:title/]</a></li> 

{/dede:arclist} 

 

标签的意思,row='1000'代表取出1000个文章, orderby='rand'代表对这些文章随机排序,pagesize='10'代表只显示随机排序后的前十个文章。

 

这样我们在后台比如网站,点下首页生成,首页文章内容随机显示!有没什么办法可以首页真静态,随机内容也动态显示呢? 刷新一次变化一次呢?

 

步骤: 

 

1. 首页所用标签:

 

{dede:arclist sort=’rand’ titlelen=48 row=16} 

<li><a href="[field:arcurl/]" title="[field:title/]" target="_blank">[field:title/]</a></li> 

{/dede:arclist} 

 

2.设置定时自动更新文件:

 

    复制下面代码,粘贴到一个新文件中,命名为:autoindex.php,上传到ftp的plus文件夹中,看清楚一点是plus文件夹中,切勿错了位置:

<?php

 

    function sp_input( $text )

 

    {

 

    $text = trim( $text );

 

    $text = htmlspecialchars( $text );

 

    if (!get_magic_quotes_gpc())

 

    return addslashes( $text );

 

    else

 

    return $text;

 

    }

 

    $autotime = 3600;//自动更新时间,单位为秒,这里设为一小时,可以自行更改。

 

    $fpath = "../data/last_time.inc";//记录更新时间文件,如果不能达到目的,请检查是否有读取权限。

 

    include( $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 = “zuimoban/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 = fopen( $fpath, "w");

 

    fwrite( $file, "<?php\n");

 

    fwrite( $file,"\$last_time=".time().";\n");

 

    fwrite( $file, '?>' );

 

    fclose( $file );

 

    }

 

    ?>

 

然后我们需要在首页的模版代码head标签中加入一段代码:

 

    <script src="/plus/autoindex.php" language="javascript"></script>

 

    最后点击后台生成,更新首页。这样如何实现dedecms调用随机文章定时更新的功能就已经基本完成,接下来要做的就是查看效果!


您需要 登录账户 后才能发表评论

发表评论

表情:
评论列表 (暂无评论,39人围观)

还没有评论,来说两句吧...

取消
支付宝二维码
支付宝二维码
微信二维码