Rumah >pembangunan bahagian belakang >tutorial php >dedecms标签解析问题

dedecms标签解析问题

WBOY
WBOYasal
2016-06-23 14:28:141055semak imbas

ded dedecms

<?php   if(!defined('DEDEINC')) exit('Request Error!');/** * 文章列表调用标记 * * 9:19 2010年7月13日:修正对isweight属性的支持 * * @version        $Id: arclist.lib.php 3 9:19 2010年7月13日Z tianya $ * @package        DedeCMS.Taglib * @copyright      Copyright (c) 2007 - 2010, DesDev, Inc. * @license        http://help.dedecms.com/usersguide/license.html * @link           http://www.dedecms.com *//** *  arclist解析标签 * * @access    public * @param     object  $ctag  解析标签 * @param     object  $refObj  引用对象 * @return    string  成功后返回解析后的标签内容 */ /*>>dede>><name>文档列表</name><type>全局标记</type><for>V55,V56,V57</for><description>获取指定文档列表</description><demo>{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}</demo><attributes>    <iterm>col:分多少列显示(默认为单列),5.3版中本属性可以通过多种方式进行多行显示</iterm>    <iterm>row:返回文档列表总数</iterm>     <iterm>typeid:栏目ID,在列表模板和档案模板中一般不需要指定,在首页模板中允许用","分开表示多个栏目</iterm>    <iterm>getall:在没有指定这属性的情况下,在栏目页、文章页模板,不会获取以","分开的多个栏目的下级子类</iterm>    <iterm>titlelen:标题长度 等同于titlelength</iterm>    <iterm>infolen:表示内容简介长度 等同于infolength</iterm>    <iterm>imgwidth:缩略图宽度</iterm>    <iterm>imgheight:缩略图高度</iterm>    <iterm>listtype: 栏目类型 image含有缩略图 commend推荐</iterm>    <iterm>orderby:文档排序方式</iterm>    <iterm>keyword:含有指定关键字的文档列表,多个关键字用","分</iterm>    <iterm>innertext:单条记录样式</iterm>    <iterm>aid:指定文档ID</iterm>    <iterm>idlist:提取特定文档(文档ID</iterm>    <iterm>channelid:频道ID</iterm>    <iterm>limit:(起始ID从0开始)表示限定的记录范围(如:limit='1,2'  表示从ID为1的记录开始,取2条记录</iterm>    <iterm>flag:自定义属性值:头条[h]推荐[c]图片[p]幻灯[f]滚动[s]跳转[j]图文[a]加粗[b]</iterm>    <iterm>noflag:同flag,但这里是表示不包含这些属性</iterm>    <iterm>orderway:值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序</iterm>    <iterm>subday:表示在多少天以内的文档</iterm></attributes> >>dede>>*/function lib_arclist( &$ctag, &$refObj ){    global $envs;    $autopartid = 0;    $tagid = '';    $tagname = $ctag->GetTagName();    $channelid = $ctag->GetAtt('channelid');        //增加对分页内容的处理    $pagesize = $ctag->GetAtt('pagesize');    if($pagesize == '')    {        $multi = 0;    } else {        $tagid = $ctag->GetAtt('tagid');    }    // arclist是否需要weight排序,默认为"N",如果需要排序则设置为"Y"    $isweight = $ctag->GetAtt('isweight');    if($tagname=='imglist' || $tagname=='imginfolist') {        $listtype = 'image';    }    else if($tagname=='specart') {        $channelid = -1;        $listtype='';    }    else if($tagname=='coolart') {        $listtype = 'commend';    }    else if($tagname=='autolist') {        $autopartid = $ctag->GetAtt('partsort');    }    else {        $listtype = $ctag->GetAtt('type');    }    //排序    if($ctag->GetAtt('sort')!='') $orderby = $ctag->GetAtt('sort');    else if($tagname=='hotart') $orderby = 'click';    else $orderby = $ctag->GetAtt('orderby');    //对相应的标记使用不同的默认innertext    if(trim($ctag->GetInnerText()) != '') $innertext = $ctag->GetInnerText();    else if($tagname=='imglist') $innertext = GetSysTemplets('part_imglist.htm');    else if($tagname=='imginfolist') $innertext = GetSysTemplets('part_imginfolist.htm');    else $innertext = GetSysTemplets("part_arclist.htm");    //兼容titlelength    if($ctag->GetAtt('titlelength')!='') $titlelen = $ctag->GetAtt('titlelength');    else $titlelen = $ctag->GetAtt('titlelen');    //兼容infolength    if($ctag->GetAtt('infolength')!='') $infolen = $ctag->GetAtt('infolength');    else $infolen = $ctag->GetAtt('infolen');    $typeid = trim($ctag->GetAtt('typeid'));    if(empty($typeid)) {        $typeid = ( isset($refObj->Fields['typeid']) ? $refObj->Fields['typeid'] : $envs['typeid'] );    }    if($listtype=='autolist') {        $typeid = lib_GetAutoChannelID($ctag->GetAtt('partsort'),$typeid);    }    if($ctag->GetAtt('att')=='') {        $flag = $ctag->GetAtt('flag');    }    else {        $flag = $ctag->GetAtt('att');    }    return lib_arclistDone           (             $refObj, $ctag, $typeid, $ctag->GetAtt('row'), $ctag->GetAtt('col'), $titlelen, $infolen,             $ctag->GetAtt('imgwidth'), $ctag->GetAtt('imgheight'), $listtype, $orderby,             $ctag->GetAtt('keyword'), $innertext, $envs['aid'], $ctag->GetAtt('idlist'), $channelid,             $ctag->GetAtt('limit'), $flag,$ctag->GetAtt('orderway'), $ctag->GetAtt('subday'), $ctag->GetAtt('noflag'),             $tagid,$pagesize,$isweight           );}


完全看不懂怎么解析的的 {dede: article    函数也找不到调用的地方 蛋疼啊       让我蛋疼的是 最终生成的PHP代码放在哪里了 他又是如何生成html代码的 各种问题 各种蛋疼

回复讨论(解决方案)

你打开织梦默认的模板,首页有幻灯效果,你应该学会模枋。加群:153436140

你打开织梦默认的模板,首页有幻灯效果,你应该学会模枋。加群:153436140 代码我会写 我在研究底层哈    准备重新写个cms来学习

建议学习smarty

调用的方法一步一步的跳,肯定能找到,或者看下文档吧。

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn