Table of Contents
回复讨论(解决方案)
Home Backend Development PHP Tutorial dedecms标签解析问题

dedecms标签解析问题

Jun 23, 2016 pm 02:28 PM

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           );}
Copy after login


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

回复讨论(解决方案)

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

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

建议学习smarty

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

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

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,

Describe the SOLID principles and how they apply to PHP development. Describe the SOLID principles and how they apply to PHP development. Apr 03, 2025 am 12:04 AM

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 permissions of unixsocket after system restart? How to automatically set permissions of unixsocket after system restart? Mar 31, 2025 pm 11:54 PM

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...

Explain the concept of late static binding in PHP. Explain the concept of late static binding in PHP. Mar 21, 2025 pm 01:33 PM

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

How to send a POST request containing JSON data using PHP's cURL library? How to send a POST request containing JSON data using PHP's cURL library? Apr 01, 2025 pm 03:12 PM

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�...

Framework Security Features: Protecting against vulnerabilities. Framework Security Features: Protecting against vulnerabilities. Mar 28, 2025 pm 05:11 PM

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? How to debug CLI mode in PHPStorm? Apr 01, 2025 pm 02:57 PM

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

See all articles