源码

<!--频道分类具体内容开始--><divclass="channel_sort">{dede:channelartlistcacheid='channelsonlist'}<h3><ahref="{dede:fieldname='typeurl'/}">{dede:fieldname='typename'/}</a></h3><ul>{dede:channeltype='son'row='10'noself='yes'}<li><ahref='[field:typeurl/]'[field:rel/]><span>[field:typename/]</span></a></li>{/dede:channel}</ul>{/dede:channelartlist}</div>【Channel标记】功能说明:用于获取栏目列表适用范围:封面模板、列表模板、文档模板(1)基本语法{dede:channelrow=''type=''}自定义样式模板(InnerText){/dede:channel}(2)属性[1]row='数字'表示获取记录的条数(通用在某级栏目太多的时候使用,默认是8)[2]type=top,sun/son,selftype='top'表示顶级栏目type='son'或'sun'表示下级栏目type='self'表示同级栏目其中后两个属性必须在列表模板中使用。==============================================dede:channel和dede:channelartlist这个怎么嵌套使用呀dede二级栏目调用{dede:channelartlistrow=6}<ahref='{dede:fieldname='typeurl'/}'>{dede:fieldname='typename'/}</a>一级栏目{dede:channeltype='son'row='10'currentstyle="<liclass='hover'><ahref='~typelink~'~rel~><span>~typename~</span></a><>"}<ahref='[field:typeurl/]'[field:rel/]>[field:typename/]</a>二级栏目{/dede:channel}{/dede:channelartlist}==============================================================在dede众多的标签中,可以嵌套的标签唯一只有channelArtlist了。虽然很多功能是想用嵌套来实现,dede不支持其他标签嵌套功能,但也是可以用别的方法可以实现的。。。了解更多的可以查看下面相关的文章嵌套一:<ul>{dede:channelArtlisttypeid='1'}<li>{dede:type}[<ahref="[field:typelink/]"><b>[field:typename/]</b></a>]{/dede:type}{dede:channeltype='son'}<ahref='[field:typelink/]'>[field:typename/]</a>{/dede:channel}</li>{/dede:channelArtlist}</ul>嵌套二:{dede:channelArtlisttypeid='0'}<divclass="AList">{dede:type}<h3><ahref="[field:typelink/]">>>[field:typename/]</a></h3>{/dede:type}<ul>{dede:arclistrow="8"titlelen='100'}<li><span>[field:pubdatefunction="MyDate('Y/m/d',@me)"/]</span><ahref="[field:arcurl/]"title="[field:titlefunction='html2text(@me)'/]">[field:titlefunction='(strlen("@me")>40?cn_substr("@me",40):"@me")'/]</a></li>{/dede:arclist}</ul></div>{/dede:channelArtlist}转自:http://dedepro.iteye.com/blog/1711557嵌套二已亲测成功。

源码

1.首先修改plus/diy.php在if($fieldinfo[1]=='textdata'){${$fieldinfo[0]}=FilterSearch(stripslashes(${$fieldinfo[0]}));${$fieldinfo[0]}=addslashes(${$fieldinfo[0]});}后面添加if($fieldinfo[0]=='ip'){${$fieldinfo[0]}=GetIP();}if($fieldinfo[0]=='time'){${$fieldinfo[0]}=date("Y-m-dH:i:s");}if($fieldinfo[0]=='laiyuanyemian'){${$fieldinfo[0]}=curPageURL();}2.在plus/diy.php上方添加以下代码,如果要获取来源地址的话<?php//说明:获取完整URLfunctioncurPageURL(){$pageURL='http';if($_SERVER["HTTPS"]=="on"){$pageURL.="s";}$pageURL.="://";if($_SERVER["SERVER_PORT"]!="80"){$pageURL.=$_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];}else{$pageURL.=$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];}return$pageURL;}?>在自定义字段里添加字段IP地址:ip提交时间:time(字段名称一定要和diy.php添加的字段名一致)在表单中调取<inputname="ip"id="ip"value=""type="hidden"><inputname="time"id="time"value=""type="hidden">type='hidden'为隐藏字段,在前端不显示,用户提交后台会自动获取IP和时间选自:http://www.aiffo.com/z/dede/43.html以上信息如果获取不到来源页面还有以下思路,已经亲测成功:在if($fieldinfo[1]=='textdata'){${$fieldinfo[0]}=FilterSearch(stripslashes(${$fieldinfo[0]}));${$fieldinfo[0]}=addslashes(${$fieldinfo[0]});}后面添加if($fieldinfo[0]=='ip'){${$fieldinfo[0]}=GetIP();}if($fieldinfo[0]=='time'){${$fieldinfo[0]}=date("Y-m-dH:i:s");}if($fieldinfo[0]=='laiyuanyemian'){${$fieldinfo[0]}=$_SERVER['HTTP_REFERER'];}然后表单字段设置为laiyuanyemian即可2018.06.23

源码

dedecms的arclist标签下调用自定义字段{dede:arclistpagesize='12'typeid='10'channelid='2'addfields='wuxing,shuzi,ptitle,palt,tlink'}<dd><ahref="http://[field:tlink/]"><imgclass="img"src="[field:litpic/]"alt="[field:palt/]"title="[field:ptitle/]"/></a></dd><ul><li><ahref="http://[field:tlink/]"title="[field:ptitle/]">[field:title/]</a></li><li><imgsrc="/image/sc.jpg"alt=""title=""></li><li>[field:description/]</li><li><spanclass="red">[field:wuxing/]</span><br><li><spanclass="red">[field:shuzi/]</span></li><p><ahref="http://[field:tlink/]"target="_blank"><imgsrc="/image/xq.gif"alt="查看详情"title="查看详情"></a></p></ul>{/dede:arclist}注:要获取附加表内容,必须符合两个条件1、指定channelid属性2、指定要获得的字段addfields='字段1,字段'如:{dede:arclistaddfields='filetype,language,softtype'row='8'channelid='3'}[field:textlink/]-[field:softtype/]<br/>{/dede:arclist}dedecms高级搜索调用缩略图{dede:fieldname='litpic'/}dedecms去后台验证码DATA文件夹里的\safe\inc_safe_config.php$safe_gdopen=’1,2,3,4,5,6′;这句代码“6”删除了,就可以了。dedecms密码重置见附件:radminpass.rardede的php当前时间加/减天当前时间:{dede:phprunphp='yes'}$ntime=time();@me=MyDate('Y-m-d',$ntime);{/dede:php}当前时间减1天:{dede:phprunphp='yes'}$ntime=time();@me=MyDate('Y-m-d',strtotime('-1day'),$ntime);{/dede:php}详情查看php的strtotime()函数。dede自定义表单提交后直接弹出对话框plus/diy.php查找$goto='/';$bkmsg='发布成功,请等待管理员处理...';修改为:echo'<script>alert("发布成功,请等待管理员处理...");history.go(-1);</script>';dede后台自定义表单一页显示50条后台/diy_list.php查找$datalist->pageSize=10;修改为:$datalist->pageSize=50;dede后台自定义表单全选功能后台/templets/diy_list.htm查找<b>内容列表</b>在后添加:<script>functionSelectAll(){varcheckboxs=document.getElementsByName("id[]");for(vari=0;i<checkboxs.length;i++){vare=checkboxs[i];e.checked=!e.checked;}}</script><ahref="#"onclick="SelectAll()">全选/反选</a>dede标题不受字数限制[field:fulltitle/]其中titlelen=’24′控制的是标题[field:title/]的字数为12个汉字,[field:fulltitle/]控制鼠标划过时提示完整标题名称。这样,无论是搜索引擎还是目标访客都相当友好了dede按权重排序{dede:arclistrow='10'titlelen='34'isweight="Y"orderby='weight'typeid='3'idlist=''}我们在使用orderby='weight'时需要在前面加上isweight="Y"来开启权重的使用参考:http://jingyan.baidu.com/article/93f9803f0efb98e0e46f552c.html{dede:list}增加按权重排序标签1、打开\include\目录中的arc.listview.class.php文件,搜索“排序方式”,然后在elseif($orderby=="lastpost"){$ordersql="orderbyarc.lastpost$orderWay";}elseif($orderby=="weight"){$ordersql="orderbyarc.weightasc";}else{$ordersql="orderbyarc.sortrank$orderWay";}这段代码中间添加以上红色代码。4、向下找到if(ereg('hot|click|lastpost',$orderby))或者是if(preg_match('/hot|click|lastpost/',$orderby))修改成if(ereg('hot|click|lastpost|weight',$orderby))或者是if(preg_match('/hot|click|lastpost|weight/',$orderby)),保存文件。这个时候在列表页里就可以使用{dede:listpagesize='5'orderby='weight'}进行排序了。dede导航栏顶级栏目和二级栏目同时调用{dede:channelartlisttypeid='top'}<ahref="{dede:fieldname='typeurl'/}">{dede:fieldname='typename'/}</a>{dede:channeltype='son'noself='yes'}<div><ahref="[field:typelink/]">[field:typename/]</a></div>{/dede:channel}{/dede:channelartlist}自定义模型,在arclist中调用自定义字段只需要在arclist中增加两个属性:1.channelid也就是模型的id,必须2.addfields需要调用的字段名,必须例如:{dede:arclistchannelid=18addfields='stname'}stname:[field:stname/]{/dede:arclist}注意,需要在模型设置中,对应的字段开启“允许在列表底层中调用,默认只在文档模板中调用”的选项dede数字递增,+后面加数字[field:globalname=autoindexrunphp="yes"]@me=@me+1;[/field:global]清空DEDE自定义表单所有数据TRUNCATETABLE`dede_diyform1;直接调用上一篇地址和下一篇地址的代码如下上一篇地址{dede:prenextget='pro'runphp="yes"}preg_match_all('/<a.*?(?:|\\t|\\r|\\n)?href=[\'"]?(.+?)[\'"]?(?:(?:|\\t|\\r|\\n)+.*?)?>(.+?)<\/a.*?>/sim',@me,$strResult,PREG_PATTERN_ORDER);@me=$strResult[1][0];{/dede:prenext}下一篇地址{dede:prenextget='next'runphp="yes"}preg_match_all('/<a.*?(?:|\\t|\\r|\\n)?href=[\'"]?(.+?)[\'"]?(?:(?:|\\t|\\r|\\n)+.*?)?>(.+?)<\/a.*?>/sim',@me,$strResult,PREG_PATTERN_ORDER);@me=$strResult[1][0];{/dede:prenext}dede调用二三级菜单{dede:channelartlisttypeid='11'}<liclass="por_content_c"><ahref="{dede:fieldname='typeurl'/}"title="{dede:fieldname='typename'/}">{dede:fieldname='typename'/}</a></li>{dede:sqlsql='Select*from#@__arctypewherereid=~id~ORDERBYidlimit0,200'}<liclass="por_content_c1"><ahref="[field:typedir/]/">[field:typename/]</a></li>{/dede:sql}{/dede:channelartlist}id为需要调用二三级菜单的一级菜单ID如果单独指定调用一个或者多个栏目的话{dede:channelartlisttypeid='1,2'}在里面指定你需要调用的id即可,如:{dede:channelartlisttypeid='1'}<liclass="por_content_c2"><ahref="{dede:fieldname='typeurl'/}"title="{dede:fieldname='typename'/}">{dede:fieldname='typename'/}</a></li>{/dede:channelartlist}也可以用sql直接调用单独栏目的子栏目附带一些css容易忘的:鼠标移动变小手:style="cursor:pointer;

2013-6-20 3480 0