dedecms标签解析问题
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
调用的方法一步一步的跳,肯定能找到,或者看下文档吧。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Alipay PHP...

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

The application of SOLID principle in PHP development includes: 1. Single responsibility principle (SRP): Each class is responsible for only one function. 2. Open and close principle (OCP): Changes are achieved through extension rather than modification. 3. Lisch's Substitution Principle (LSP): Subclasses can replace base classes without affecting program accuracy. 4. Interface isolation principle (ISP): Use fine-grained interfaces to avoid dependencies and unused methods. 5. Dependency inversion principle (DIP): High and low-level modules rely on abstraction and are implemented through dependency injection.

How to automatically set the permissions of unixsocket after the system restarts. Every time the system restarts, we need to execute the following command to modify the permissions of unixsocket: sudo...

Article discusses late static binding (LSB) in PHP, introduced in PHP 5.3, allowing runtime resolution of static method calls for more flexible inheritance.Main issue: LSB vs. traditional polymorphism; LSB's practical applications and potential perfo

Sending JSON data using PHP's cURL library In PHP development, it is often necessary to interact with external APIs. One of the common ways is to use cURL library to send POST�...

Article discusses essential security features in frameworks to protect against vulnerabilities, including input validation, authentication, and regular updates.

How to debug CLI mode in PHPStorm? When developing with PHPStorm, sometimes we need to debug PHP in command line interface (CLI) mode...
