详解DEDECMS织梦模板随机调用文章数据方法汇总教程

这篇具有很好参考价值的文章主要介绍了详解DEDECMS织梦模板随机调用文章数据方法汇总教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

有时我们为了网站优化都会对网站最后一些文章停止随机读取显现,这样能够进步网站对搜索引擎的体验,下面我们就来剖析总结一下dedecms随机调用文章数据办法.

方法一,直接利用artlist中的orderyb=rand 即可实例,代码如下:

代码如下:

{dede:arclist row=10 orderby=rand}
[field:title/]{/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']);
foreach($tcp->CTags as $k => $v ){$tcp->Assign($k , $row1[$v->GetName()]);
}
$s.=$tcp->GetResult();
}
return $s;
}

2.在dedecms文章模板中调用,代码如下:

代码如下:

{dede:randarc limit=1}[field:title/]{/dede:randarc}

这样很简单的就完成了dedecms文章页面随机调用一篇文章的功用

首页随机调用文章并定时自动更新

要完成DEDE首页自动更新的前提是网站首页必需有随机文章,关于随机文章不懂的朋友看这里完成DEDE首页内页随机文章列表代码,熟习的直接跳过,代码如下:

代码如下:

{dede:arclist sort='rand' titlelen=48 row=16}
[field:title/] {/dede:arclist}

这时首页每次更新的内容来源就有了,只是还不会自动生成更新的html文件,下面来说让dede自动生成首页的具体方法.

把下面的代码复制下来新建一个文本文档粘贴保存,然后把文件名改为rrsc_cn.php中的,上传到根目录,修改首页模板,在网站首页的

这部分加入这段代码,然后更新首页,代码如下:

代码如下:

<?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";//记录更新时间文件,如果不能达到目的,请检查是否有读取权限。
include( $fpath );
if( emptyempty($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 = fopen( $fpath, "w" );
fwrite( $file, "<?phpn " );
fwrite( $file, "$last_time=".time().";n" );
fwrite( $file, '?>' );
fclose( $file );
}
?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持yii666。文章来源地址https://www.toymoban.com/news/detail-433367.html

到了这里,关于详解DEDECMS织梦模板随机调用文章数据方法汇总教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 详解织梦模板DEDECMS对discuz论坛的一些常用调用代码

    dede调用DZ论坛帖子及特定板块帖子的调用方法 论坛最新主题: 调特定板块的主题: 显示精华帖: 论坛之星/活跃会员: [field:username/] 贴子:[field:posts/] 加入:[field:regdate function=\\\"GetDateMK(@me)\\\"/] {/dede:loop} /bbs/space.php?uid=[field:uid /] 个人信息地址 /bbs/uc_server/avatar.php?uid=[field:uid /

    2024年02月02日
    浏览(32)
  • dedecms织梦模板列表页单独调用总页数二次开发教程详解

    本文介绍了dedecms织梦模板列表页单独调用总页数二次开发教程,分享给大家,也给自己留个笔记,具体如下: 效果演示: 利用{dede:pagelist listitem=\\\"info,index,end,pre,next,pageno,option\\\" listsize=\\\"3\\\"/} 找到了一个比较快的一个独立调用的办法。 开发方法 1、打开 include/arc.listview.class.php 找

    2024年02月02日
    浏览(38)
  • dedecms织梦模板用array调用多个自定义字段并判断的方法

    首页、列表页增加多字段判断 用[field:array runphp=\\\'yes\\\']标签,这个标签可以获取任意字段的值。 比如,有两个字段分别为:tishi,leibie,先判断 tishi 这个字段是否为空,同时判断 leibie 是否是指定字符,如果条件都满足,就只调用tishi字段内容,就可以这样写(和平时用的@me不

    2024年02月02日
    浏览(34)
  • 详解织梦DEDECMS模板防止被盗用被下载被偷窥的方法

    很多企业或站长使用织梦dede建站时经常遇到自己一个漂亮网站给很多人复制,如果别人不盗用而按照你的页面设计,那我们办法,今天我们来学习的是如果仿制模板被盗取。 于是有了下面文章:(无需特殊权限,无需改动程序。)主要原理是禁止访问htm后缀的模版文件 第一

    2024年02月02日
    浏览(34)
  • 详解织梦dedecms5.7 无限级多级栏目菜单调用方法

    以前在用到5.7无限级栏目列表菜单时下载了网上的资料都未成功,因此我参考网上及dedecms本身的channel.lib.php及cattree.lib.php制作了调用标签。 1、在includetaglib建立randomartlist.lib.php 内容如下: {$row[\\\'typename\\\']}n\\\"; } randomartlistSon($row[\\\'id\\\'],$typeid,$currentstyle, $revalue); } if($cacheid !=\\\'\\\') { W

    2024年02月02日
    浏览(28)
  • dedecms织梦tag keyword调用相关文章

    DEDE官方的dede:likearticle是利用文章中输入的或者自动分词形成的来关联文章,但是有时候自动生成的并不精确,造成关联不准,这里我们通过自定义一个类库文件来实现精准获取相关文章 可以单用tag来调用相关文章,也可用tag+keyword来调用相关文章(默认ta

    2024年02月02日
    浏览(35)
  • 如何为dedecms织梦模板发布文章添加禁用词语过滤功能

    dedecms(本例为V57_UTF8_SP1)中在互动部分有词语过滤功能,但是文章部分没有添加此功能,我们自己手动添加下发布文章禁用词语过滤功能。 在/dede/article_add.php中的代码: 之前添加代码: 同时修改/dede/article_edit.php中对应代码部分就可以了。 以上就是本文的全部内容,希望对

    2024年02月02日
    浏览(81)
  • dedecms织梦模板点击图片进入下一分页或下篇文章标签

    前面有写过修改源文件的方法实现点击图片进入下一分页,无分页进入下一篇,下面分享不修改源文件,只用JS的方法实现这样的效果,仅供参考 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持yii666。

    2024年02月02日
    浏览(41)
  • 详解织梦CMS自动清除文章内段落标签的调用方法

    织梦DEDECMS自动清除文章内段落p标签样式而保留p标签的方法: 今天在发布文章时发现,从别处复制过来的文字,自带的样式,特别是采集过来的内容,因为采集时没有做好标签的过滤,导致内容在我们网站上出现网页结构错乱,如下图 如果放在编辑器里清除样式后,又全部

    2024年02月03日
    浏览(29)
  • 织梦dedecms调用得到文章所属的副栏目id及副栏目名称的教程

    标签调用代码 函数代码,在includeextend.func.php 中增加如下代码: 注意:织梦标签artlist不能调用副栏目中的文章内容的问题,即文章属于互联网这个副栏目,但互联网栏目中却不显示这个文章。需要修改系统文件./include/taglib/arclist.lib.php。 修改为 以上就是本文的全部内容,希

    2024年02月02日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包