我用过dedecms 他里面的功能是这样的。比如我要调用某个项目里面的 最新更新的10个文章我就可以这样。
{dede:imt  xx  xx xx } 然后这样就调用出来了。他没有直接查询mysql吗?如何才能坐到这样 给个思路呢?

解决方案 »

  1.   

    标签名称:arclist
    标记简介:织梦常用标记,也称为自由列表标记,其中imglist、imginfolist、specart、coolart、autolist都是由该标记所定义的不同属性延伸出来的别名标记。
    功能说明:获取指定文档列表
    适用范围:全局使用
    基本语法:
    {dede:arclist  flag='h' typeid='' row='' col='' titlelen='' infolen='' imgwidth='' imgheight='' listtype='' orderby='' keyword='' limit='0,1'}
    <a href='[field:arcurl/]'>[field:title/]</a>
    {/dede:arclist}
     typeid='' 栏目ID,在列表模板和档案模板中一般不需要指定,在首页模板中允许用","分开表示多个栏目; orderby='sortrank' 文档排序方式
    § orderby='hot' 或 orderby='click' 表示按点击数排列
    § orderby='sortrank' 或 orderby='pubdate' 按出版时间排列
    § orderby='near'
    § orderby=='lastpost' 按最后评论时间
    § orderby=='scores' 按得分排序
    § orderby='id' 按文章ID排序
    § orderby='rand' 随机获得指定条件的文档列表  idlist ='' 提取特定文档(文档ID) 调用指定id文档 例子idlist ='4,45,78,237'
     limit='起始ID,记录数'  (起始ID从0开始)表示限定的记录范围(如:limit='1,2'  表示从ID为1的记录开始,取2条记录)
     keyword='' 含有指定关键字的文档列表,多个关键字用","分
     orderway='desc' 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序使用实例
    调用推荐文章
           {dede:arclist flag="c" channelid='' row='10' titlelen='60' orderby=''}
                <li><a href='[field:arcurl /]' title="[field:fulltitle /]">[field:title /]</a></li>
             {/dede:arclist}  
         row='10' 调用10条,  titlelen='60'标题长度为30汉字  flag="c" 推荐文章 orderby='' 默认为按发布时间排序
         flag = 'c' 自定义属性值:头条[h]  推荐[c]  图片[p]  幻灯[f]  滚动[s]  跳转[j]  图文[a]  加粗
    调用最新文章按发布时间排序
            {dede:arclist  channelid='' row='10' titlelen='60'}
                <li><a href='[field:arcurl /]' title="[field:fulltitle /]">[field:title /]</a></li>
             {/dede:arclist}        row='10' 调用10条,  titlelen='60'标题长度为30汉字    按ID排序降序排列,从大到小
     {dede:arclist  channelid='' row='10' titlelen='60' orderby='id' }
                <li><a href='[field:arcurl /]' title="[field:fulltitle /]">[field:title /]</a></li>
             {/dede:arclist}        row='10' 调用10条,  titlelen='60'标题长度为30汉字 orderby='id'  按ID,降序排列 按ID排序顺序排列,从小到大
     {dede:arclist  channelid='' row='10' titlelen='60' orderby='id' orderway='asc'  }
                <li><a href='[field:arcurl /]' title="[field:fulltitle /]">[field:title /]</a></li>
             {/dede:arclist}        row='10' 调用10条,  titlelen='60'标题长度为30汉字 orderby='id'  按ID,orderway='desc' 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序
    调用含有缩图的文档
      {dede:arclist flag="p" row='10' titlelen='60'}
                <li><a href="[field:arcurl /]"><img src="[field:litpic/]" border="0" alt="[field:fulltitle /]"></a>
                <span><a href="[field:arcurl /]" title="[field:fulltitle /]">[field:title /]</a></span>
                </li>
             {/dede:arclist}      flag = 'p' 自定义属性值:头条[h]  推荐[c]  图片[p]  幻灯[f]  滚动[s]  跳转[j]  图文[a]  加粗 日期的各种格式
    08                   [field:pubdate function=strftime('%d',@me)/]
    08 日                [field:pubdate function=strftime('%d日',@me)/]
    06-08                [field:pubdate function=strftime('%m-%d',@me)/]
    06月08日             [field:pubdate function=strftime('%m月%d日',@me)/]
    09-06-08             [field:pubdate function=strftime('%y-%m-%d',@me)/]
    2009-06-08           [field:pubdate function=strftime('%Y-%m-%d',@me)/]
    09年06月08日         [field:pubdate function=strftime('%y年%m月%d日',@me)/]
    2009年06月08日       [field:pubdate function=strftime('%Y年%m月%d日',@me)/]
    2009-06-08  13:28    [field:pubdate function=strftime('%Y-%m-%d %H:%M',@me)/] 底层字段
         
       [field:id /]  文章的ID,对应dede_archives 的ID字段
       [field:typeid /]  文章所在栏目的ID
     *  [field:title/]  文章标题(控制条件包括titlelen=''字节数,后台发布文档时所选的标题颜色,加粗)
     *  [field:fulltitle/]  文章标题(标题完整,无样式)
     *  [field:click /]  点击数
       [field:shorttitle /]  短标题
     *  [field:writer /]  作者
     *  [field:source /]  来源
     *  [field:litpic /]  缩图地址 与 [field:picname /]相同
       [field:picname /]  缩图地址 与[field:litpic /]相同
     *  [field:pubdate /]  发布日期
    08              [field:pubdate function=strftime('%d',@me)/]
    08 日           [field:pubdate function=strftime('%d日',@me)/]
    06-08           [field:pubdate function=strftime('%m-%d',@me)/]
    06月08日        [field:pubdate function=strftime('%m月%d日',@me)/]
    09-06-08        [field:pubdate function=strftime('%y-%m-%d',@me)/]
    2009-06-08      [field:pubdate function=strftime('%Y-%m-%d',@me)/]
    09年06月08日    [field:pubdate function=strftime('%y年%m月%d日',@me)/]
    2009年06月08日  [field:pubdate function=strftime('%Y年%m月%d日',@me)/]
    2009-06-08  13:28[field:pubdate function=strftime('%Y-%m-%d %H:%M',@me)/]
       [field:lastpost /]  最后评论时间 用法同 [field:pubdate /]
       [field:scores /]  评论得分
       [field:goodpost /]  好评
       [field:badpost/]  差评
     *  [field:description /]  简介 等同于 [field:info /] ,[field:infos /] 
     字数控制  [field:description   function="cn_substr(@me,120)"/] 60汉字
    infolen='160' 表示内容简介长度 等同于infolength(只控制infos,并不控制description的内容)
     *  [field:info /]  简介 等同于 [field:description /] ,[field:infos /] 
     字数控制  [field:info  function="cn_substr(@me,120)"/] 60汉字
    infolen='160' 表示内容简介长度 等同于infolength(只控制infos,并不控制description的内容)
     *  [field:infos /]   简介 等同于 [field:info /] ,[field:description /] 
     字数控制  [field:infos   function="cn_substr(@me,120)"/] 60汉字
    infolen='160' 表示内容简介长度 等同于infolength(只控制infos,并不控制description的内容)
       [field:filename /]   文章连接地址 等同于[field:arcurl /] 
     *  [field:arcurl /]   文章链接地址 等同于[field:filename /] 
     *  [field:textlink /]   文章标题+地址 等同于<a href='[field:arcurl /] '>[field:title/]</a>
     *  [field:litpic /]   缩图地址 等同于  [field:picname /] 
     *  [field:picname /]   缩图地址 等同于  [field:litpic /] 
     *  [field:image /]  等同于 <img src='[field:litpic /]' border='0' width='imgwidth' height='imgheight' alt='[field:fulltitle /]'>
    imgwidth='120' 缩略图宽度
    imgheight='90' 缩略图高度
     *  [field:imglink /]   等同于imglink = <a href=' [field:arcurl /]'>[field:image /]</a>
     *  [field:typename /]    栏目标题
     *  [field:typeurl /]   栏目地址
     *  [field:typelink /]   等同于  <a href='[field:typeurl /]'>[field:typename /]</a>
       [field:plusurl /]    pius文件夹地址 等同于 [field:global name=plusurl/]
       [field:memberurl /]    会员文件夹地址 等同于 [field:global name=memberurl/]
       [field:templeturl /]     模板文文件夹地址 等同于 [field:global name=templeturl /]
     *  [field:global name=autoindex/]  最常用的底层标签,生成顺序数字1,2,3,4,5,6,7.....
     可CSS控制可做成各种样式效果,比如隔行换色, 列表前加入1-10数字序号,每隔几行换行等等
    于PHP搭配,可制作出各种效果,为DEDE最重要代码之一
         BY天工开物 www.dedevip.com
     
      
    相关函数:
    文件\include\taglib\arclist.lib.php第7行
    function lib_arclist(&$ctag,&$refObj)
    参数说明:
    col='' 分多少列显示(默认为单列),5.3版中本属性可以通过多种方式进行多行显示
    如果col='1'要多列显示的可用div+css实现
    以下为通过div+css实现多列的示例:
    <style type=text/css>
    div{width:400px;float:left;}
    </style>
    {dede:arclist row='10' titlelen='24' orderby='pubdate' idlist='' col='2'}
    •[field:textlink/]([field:pubdate function=MyDate('m-d',@me)/])<br/>
    {/dede:arclist}
    当col>1将使用原来的table多列方式显示
    row='10' 返回文档列表总数
    typeid='' 栏目ID,在列表模板和档案模板中一般不需要指定,在首页模板中允许用","分开表示多个栏目;
    getall='1' 在没有指定这属性的情况下,在栏目页、文章页模板,不会获取以","分开的多个栏目的下级子类
    titlelen = '30' 标题长度 等同于titlelength
    infolen='160' 表示内容简介长度 等同于infolength(只控制infos,并不控制description的内容)
    imgwidth='120' 缩略图宽度
    imgheight='90' 缩略图高度
    listtype='all' 栏目类型 image含有缩略图 commend推荐
    orderby='sortrank' 文档排序方式
    § orderby='hot' 或 orderby='click' 表示按点击数排列
    § orderby='sortrank' 或 orderby='pubdate' 按出版时间排列
    § orderby='near'
    § orderby=='lastpost' 按最后评论时间
    § orderby=='scores' 按得分排序
    § orderby='id' 按文章ID排序
    § orderby='rand' 随机获得指定条件的文档列表
    keyword='' 含有指定关键字的文档列表,多个关键字用","分
    innertext = '' 单条记录样式
    aid='' 指定文档ID
    idlist ='' 提取特定文档(文档ID)
    channelid 频道ID
    limit='起始ID,记录数'  (起始ID从0开始)表示限定的记录范围(如:limit='1,2'  表示从ID为1的记录开始,取2条记录)
    flag = 'h' 自定义属性值:头条[h]推荐[c]图片[p]幻灯[f]滚动[s]跳转[j]图文[a]加粗
    noflag = '' 同flag,但这里是表示不包含这些属性
    orderway='desc' 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序
    subday='天数' 表示在多少天以内的文档
     
    用arclist调用于附加表字段的方法:
     
    要获取附加表内容,必须符合两个条件
    1、指定 channelid 属性
    2、指定要获得的字段 addfields='字段1,字段'
    如:
    {dede:arclist addfields='filetype,language,softtype' row='8' channelid='3'}
    [field:textlink /] - [field:softtype /]<br />
    {/dede:arclist}底层模板字段:
    ID(同 id),typeid,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,color,writer,
    source,litpic(同picname),pubdate,senddate,mid, lastpost,scores,goodpost,badpost,notpost,
    description(同infos),filename, image, imglink, fulltitle, textlink, typelink,plusurl, memberurl, templeturl,
    stime(pubdate 的"0000-00-00"格式)
    其中:
    textlink = <a href='arcurl'>title</a>
    typelink = <a href='typeurl'>typename</a>
    imglink = <a href='arcurl'><img src='picname' border='0' width='imgwidth' height='imgheight'></a>
    image = <img src='picname' border='0' width='imgwidth' height='imgheight' alt=’titile’>
    字段调用方法:[field:varname/]
    如:
    {dede:arclist infolen='100'}
    [field:textlink/]
    <br>
    [field:infos/]
    <br>
    {/dede:arclist}
    注:底层模板里的Field实现也是织梦标记的一种形式,因此支持使用PHP语法,Function扩展等功能。
    如: 给当天发布的内容加上 (new) 标志
    [field:senddate runphp='yes']
    $ntime = time();
    $oneday = 3600 * 24;
    if(($ntime - @me)<$oneday) @me = "<font color='red'>(new)</font>";
    else @me = "";
    [/field:senddate]
      

  2.   

    源代码可以查看
    dedetag.class.php 你就知道怎么运作的了.
      

  3.   

    用smarty写的一个标签的例子看看你就会了
    http://ke80.com/archives/20120119126.shtml
      

  4.   

    使用的是模板引擎,用smarty可以实现