dedecms图集出现异常
orderby=’rand’
{dede:arclist row='1000' pagesize='10' titlelen='80' orderby='rand'}
<li><a href="[field:arcurl/]" title="[field:title /]">[field:title /]</a></li>
{/dede:arclist}
row=’1000′ 返回1000个文档列表;
pagesize=’10′从上面的1000个文档列表中列出10个;
titlelen=’80′ 标题长度80;
orderby=’rand’随机获取文章
整个列表的意思就是列出1000个文章,随机获取10个再展示出来,其中文章标题最长为80。
{dede:arclist pagesize='10' titlelen='35' orderby='rand'}
<li><a href="[field:arcurl/]" title="[field:title /]">[field:title /]</a></li>
{/dede:arclist}
pagesize='10' 这个代表生成10个标题
titlelen='35' 表示限制标题长度为35个字节
如果想抓取指定栏目下的内容要加入typeid=’这里填写栏目的ID’
{dede:arclist pagesize='10' titlelen='35' typeid='5' orderby='rand'}
之前选择的自定义图集
一、添加一个获取地址的方法
打开 /include/extendfunc 文件(注:这个文件就是系统预留的自定义函数接口文件,主要用于二次开发用的。如果你是老版本,默认没有这个文件,自己创建一个PHP文件即可),在最下面的>上一行加入以下函数代码:(如果结尾没有>那就直接在最下面添加)
function GetOneImgUrl($img,$ftype=1){ if($img <> ''){ $dtp = new DedeTagParse(); $dtp->LoadSource($img); if(is_array($dtp->CTags)){ foreach($dtp->CTags as $ctag){ if($ctag->GetName()=='img'){ $width = $ctag->GetAtt('width'); $height = $ctag->GetAtt('height'); $imgurl = trim($ctag->GetInnerText()); $img = ''; if($imgurl != ''){ if($ftype==1){ $img = $imgurl; } else{ $img = '<img src="'$imgurl'" width="'$width'" height="'$height'" />'; } } } } } $dtp->Clear(); return $img; } }
可以直接用下面的方法调用
[field:自定义字段名 function="GetOneImgUrl(@me,显示类型)"/]
最终使用方法。
{dede:arclist typeid='12' addfields='datu' channelid='17' limit='0,7'}
<li><a href="[field:arcurl/]" target="_blank"><img border="0" src="[field:datu function='GetOneImgUrl(@me,1)'/]"></a></li>
{/dede:arclist}
最终调用到这个地址。
主要是开启session之前没有检测,你可以试试这个办法,打开include/userloginclassphp文件,然后找到session_start();在前面加上下面的代码,然后上传覆盖,应该就可以了,
if (isset($_POST["PHPSESSID"])) {
session_id($_POST["PHPSESSID"]);
} else if (isset($_GET["PHPSESSID"])) {
session_id($_GET["PHPSESSID"]);
}
是说调用记录从第10条起吧,比如前面一块我调用前十条记录,然后第二块想从第11条信息开始调用,dedecms可以用limit限制,帝国cms可以用bqno实现。这里就说下dedecms用法,可以用limit='4,5'来实现,这里第一个参数4意思是起始值4,也就是从第5条开始调用。参数5是调用5条的意思。比如你想调用11-15条信息可以limit='10,5'。
还有不懂的地方欢迎提问。
你看下这资料
参考资料:
0条评论