search
HomeBackend DevelopmentPHP Tutorialdedecms template dedecms template production and use method


Overview of parsing engine Template design specification Code reference
Mark reference: arclist(artlist,likeart,hotart,imglist,imginfolist,coolart,specart) field channel mytag vote friendlink mynews loop channelartlist page list pagelist pagebreak fieldlist
1. Dreamweaver template parsing engine Overview Before understanding the template code of DedeCms, it is very meaningful to understand the knowledge of the DreamWeaver template engine. The Dreamweaver template engine is a template parser that uses XML namespaces. The biggest advantage of using the Dreamweaver parser to parse templates is that you can easily specify the attributes of the tag. It feels like using HTML, making the template code very intuitive. Flexible, the new version of the Dreamweaver template engine can not only parse the template but also analyze the wrong tags in the template.
1. The code styles of the DreamWeaver template engine have the following forms:
{dede: tag name attribute='value'/}
{dede: tag name attribute='value'}{/dede: tag name}
{ dede: tag name attribute = 'value'} Custom style template (InnerText) {/dede: tag name}
Tips:
For the form {dede: tag name attribute = 'value'} {/dede: tag name} In version 2.1, you only need to use "{/dede}" to indicate the end, but in
V3, you need to strictly use "{/dede:mark name}", otherwise an error will be reported.
2. The Dreamweaver template engine has multiple built-in system tags, and these system tags can be used directly in any situation.
(1) global tag means to obtain an external variable. In addition to the database password, it can call any configuration parameters of the system. The form is:
{dede:global name='variable name'}{/dede:global}
or
{dede:global name='variable name' /}
The variable name cannot be added with the $ symbol, such as the variable $cfg_cmspath, which should be written as {dede:global name='cfg_cmspath' /}.
(2) foreach is used to output an array, in the form:
{dede:foreach array='array name'}[field:key/] [field:value/]{/dede:foreach}
(3) include introduction A file in the form:
{dede:include file='file name' /}
The search path for the file is in the order: absolute path, include folder, CMS installation directory, CMS main template directory
3. Dreamweaver mark Allows the use of functions in any tag to process the obtained value, in the form:
{dede: tag name attribute='value' function='youfunction("Parameter 1", "Parameter 2", "@me") '/}
where @me is used to represent the value of the current tag, other parameters are determined by your function, for example:
{dede:field name='pubdate' function='strftime("%Y-%m-% d %H:%M:%S","@me")' /}
2. DedeCms template production specifications
  The template of the DedeCms system is not fixed. Users can choose the column template when creating a new column. The official only provides The most basic default template is each template of the built-in system model. DedeCms supports custom channel models. After users customize a new channel model, they need to design a new template according to the model.
1. Concept, design and use of templates, you must understand the following concepts:
1. Section (cover) template:
 Refers to the template used for the website homepage or the cover of more important columns, generally using "index_identification ID.htm "Name. In addition, users can choose whether to support section template tags for individual pages or custom tags individually defined. If supported, the system will use the section template tag engine to parse before outputting the content or generating a specific file.
2. List template:
 Refers to the template of the list of all articles in a certain column of the website, generally named with "list_identification ID.htm".
3. File template:
 Represents the template of the document viewing page, generally named with "article_identification ID.htm".
4. Other templates:
The general system generally includes templates: home page template, search template, RSS, JS compilation function template, etc. In addition, users can also customize a template to create any file.
2. Naming, for the sake of standardization, DreamWeaver officially recommends using a unified way to name templates, as follows:
1. Template saving location:
Template directory: {cmspath/templets/style name (English, the default is default, where system is the underlying template of the system, plus is the template used by the plug-in)/specific function template file}
 General template location: "/templets/default"
2. Template file naming convention:
(1) index_identification ID.htm: Represents the section (column cover) template;
(2) list_identification ID.htm: Represents the column list template;
(3) article_identification ID.htm: Represents the content viewing page (document template, including topic viewing page);
(4) search.htm: Search results list template;
(5) index.htm: Home page template;
Notes:
The [identification IDs] of each content channel in your system are:
Example: list_image.htm means yes, yes The default list template for columns whose content type is picture collection.
3. Main tag reference
1. arclist tag
This tag is the most commonly used tag in DedeCms. Among them, hotart, coolart, likeart, artlist, imglist, imginfolist, and specart are all extended by different attributes defined by this tag. of.
Function: Get a specified document list
Scope of application: cover template, list template, document template
(1) Basic syntax:
{dede:arclist
typeid='' row='' col='' titlelen=''
infolen='' imgwidth='' imgheight='' listtype='' orderby='' keyword=''}
Custom style template (InnerText)
{/dede:arclist}
This tag is equivalent to artlist, imglist, The imginfolist tag is completely identical to artlist, and is only different from imglist and imginfolist in the default underlying template.
(2) Attribute reference:
[1] typeid='' represents the column ID, which generally does not need to be specified in list templates and archive templates. In the cover template, "," is allowed to represent multiple columns separately;
[2] row='' means the number of rows in the returned document. If used in combination with col, the result number is equal to row * col;
[3] col='' means how many columns to display (default is single column);
[4] titlelen=' ' represents the length of the title;
[5] infolen='' represents the length of the content introduction;
[6] imgwidth='' represents the width of the thumbnail;
[7] imgheight='' represents the height of the thumbnail;
[8] type= '' indicates the file type, where the default value or type='all' is an ordinary document.
§ type='commend' indicates a recommended document, which is equivalent to
§ type='image', which indicates that a thumbnail image must be included. Document
[9] orderby='' indicates the sorting method. The default value is senddate arranged by release time.
§ orderby='hot' or orderby='click' means sorting by the number of clicks
§ orderby='pubdate' sorting by publication time (that is, the time value that the front desk allows to change)
§ orderby='sortrank' sorting by the newness of the article Sorting level sorting (use this attribute if you want to use pinned articles)
§ orderby='id' Sort by article ID
[10] keyword='' represents a list of documents containing specified keywords, multiple keywords use ", "Separate
[11] channelid='number' indicates a specific channel type, built-in channels: topic (-1), article (1), gallery (2), Flash (4), software (3)
[12 ] limit='start, end' indicates a limited record range. The row attribute must be equal to "end - start". MySQL's limit statement starts from 0. For example, "limit 0,5" means taking the first five records. Records, "limit 5,5" means starting from the fifth record, take down five records.
(3) Bottom template variables
ID (same as id), title, iscommend, color, typeid, ismake, description (same as info),
pubdate, senddate, arcrank, click, litpic (same as picname), typedir, typename,
arcurl (same as filename), typeurl, stime (pubdate's "0000-00-00" format),
textlink, typelink, imglink, image
where:
textlink = title> ;
typelink = typename
imglink = dedecms template dedecms template production and use method
image = dedecms template dedecms template production and use method
Variable calling method: [field:varname / ]
For example:
{dede:arclist infolen='100'}
[field:textlink /]


[field:info /]


{/dede:arclist}
2. field Tag
This tag is used to obtain the field value and commonly used environment variable value of a specific column or file
Applicable scope: cover template, list template, document template
(1) Basic syntax
{dede:field name=''/}
(2) The value of the name attribute:
Plate template: phpurl,indexurl,indexname,templeturl,memberurl,powerby,webname,specurl
List template: position,title,phpurl,templeturl,memberurl,powerby,indexurl,indexname,specurl, All fields of the column table dede_arctype
where position is a link in the form of "Column One > Column Two", and title is a title in this form
Document template: position,phpurl,templeturl,memberurl,powerby,indexurl,indexname,specurl ,id (same as ID,aid), all fields of the archive dede_archives table and additional tables.
3、channel 标记
用于获取栏目列表
适用范围:封面模板、列表模板、文档模板
(1)基本语法
{dede:channel row='' type=''}
自定义样式模板(InnerText)
{/dede:channel}
(2)属性
[1] row='数字' 表示获取记录的条数(通用在某级栏目太多的时候使用,默认是 8)
[2] type = top,sun,self
type='top' 表示顶级栏目
type='sun' 表示下级栏目
type='self' 表示同级栏目
其中后两个属性必须在列表模板中使用。
(3)底层模板变量
ID,typename,typedir,typelink(这里仅表示栏目的网址)
例:
{dede:channel type='top'}
[field:typename/] 
{/dede:channel}
4、mytag 标记
用于获取自定义标记的内容
适用范围:封面模板、列表模板、文档模板
(1)基本语法
{dede:mytag typeid='' name='' ismake='' /}
(2)属性
[1] typeid = '数字' 表示栏目ID,默认为 0,在没有设定的栏目没有定义这个名称的标记,会按如下搜索方式来搜索“先向上查找父栏目 -> 通用标记(typeid=0)的同名标记”。
[2] name = '' 标记名称。
[3] ismake = yes|no 默认为 no 表示mytag里的内容不包含其它封面模板的标记,yes则表示标记内容含有其它封面模板标记。
5、vote 标记
用于获取一组投票表单
适用范围:封面模板
(1) 基本语法
{dede:vote id='投票ID' line style="max-width:90%"
tablewidth='100%' titlebgcolor='#EDEDE2'
titlebackground='' tablebgcolor='#FFFFFF'}
{/dede:vote}
6、friendlink 标记,等同 flink
用于获取友情链接
适用范围:封面模板
(1)基本语法
{dede:flink type='' row='' col='' titlelen='' tablestyle=''}{/dede:flink}
属性注解:
[1]type:链接类型,值:
a. textall 全部用文字显示
b. textimage 文字和图得混合排列
c. text 仅显示不带Logo的链接
d. image 仅显示带Logo的链接
-------------------------------------
[2]row:显示多少行,默认为4行
[3]col:显示多少列,默认为6列
[4]titlelen:站点文字的长度
[5]tablestyle: 表示 
7、mynews 标记
用于获取站内新闻
适用范围:封面模板
(1) 基本语法
{dede:mynews row='条数' titlelen='标题长度'}Innertext{/dede:mynews}
Innertext支持的字段为:[field:title /],[field:writer /],[field:senddate /](时间),[field:body /]
8、loop 标记
用于调用任意表的数据,一般用于调用论坛贴子之类的操作,请参阅论坛扩展插件。
9、channelartlist 标记
用于获取频道的下级栏目的内容列表
适用范围:封面模板
语法:
{dede:channelArtlist typeid=0 col=2 tablewidth='100%'}








{dede:type}






dedecms template dedecms template production and use method
[field:typename /]

更多...

{/dede:type}

{dede:arclist row="8"}
·[field:title /]

{/dede:arclist}

 

{/dede:channelArtlist}
channelArtlist is the only tag that can directly nest other tags, but it is limited to nesting
{dede:type}{/dede:type} and {dede:arclist}{/dede:arclist }
mark.
(1) Attribute
typeid=0 Channel ID. By default, the nested tag uses the subordinate column of this column ID. If you want to use a specific column, you can use "," to separate multiple IDs.
col=2 Display in multiple columns
tablewidth='100%' The size of the peripheral table
10. Page tag
Indicates additional parameters of the paging page
Applicable scope: list template
Syntax:
{dede:page pagesize="per page Number of results "/}
11. The list mark
represents the content list in the list template
Syntax:
{dede:list col='' titlelen=''
infolen='' imgwidth='' imgheight='' orderby= ''}{/dede:list}
Underlying template variables
ID (same as id), title, iscommend, color, typeid, ismake, description (same as info),
pubdate, senddate, arcrank, click, litpic (same as picname) , typedir, typename,
arcurl (same as filename), typeurl, stime (pubdate's "0000-00-00" format),
textlink, typelink, imglink, image
12. pagelist tag
represents a paging page number list
Scope of application: List template
Syntax:
{dede:pagelist listsize="3"/}
listsize means [1][2][3] The length of these items x 2
13. Pagebreak tag
Usage: Represents the paged link list of the document.
Scope of application: only document templates.
Syntax: {dede:pagebreak /}
14. fieldlist tag
Purpose: Get all field information of the attached table.
Scope of application: only document templates.
Syntax:
{dede:fieldlist}
[field:name /]: [field:value /]

{/dede:fieldlist}

The above introduces the dedecms template dedecms template production and use methods, including the dedecms template content, I hope it will be helpful to friends who are interested in PHP tutorials.

Statement
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
PHP's Current Status: A Look at Web Development TrendsPHP's Current Status: A Look at Web Development TrendsApr 13, 2025 am 12:20 AM

PHP remains important in modern web development, especially in content management and e-commerce platforms. 1) PHP has a rich ecosystem and strong framework support, such as Laravel and Symfony. 2) Performance optimization can be achieved through OPcache and Nginx. 3) PHP8.0 introduces JIT compiler to improve performance. 4) Cloud-native applications are deployed through Docker and Kubernetes to improve flexibility and scalability.

PHP vs. Other Languages: A ComparisonPHP vs. Other Languages: A ComparisonApr 13, 2025 am 12:19 AM

PHP is suitable for web development, especially in rapid development and processing dynamic content, but is not good at data science and enterprise-level applications. Compared with Python, PHP has more advantages in web development, but is not as good as Python in the field of data science; compared with Java, PHP performs worse in enterprise-level applications, but is more flexible in web development; compared with JavaScript, PHP is more concise in back-end development, but is not as good as JavaScript in front-end development.

PHP vs. Python: Core Features and FunctionalityPHP vs. Python: Core Features and FunctionalityApr 13, 2025 am 12:16 AM

PHP and Python each have their own advantages and are suitable for different scenarios. 1.PHP is suitable for web development and provides built-in web servers and rich function libraries. 2. Python is suitable for data science and machine learning, with concise syntax and a powerful standard library. When choosing, it should be decided based on project requirements.

PHP: A Key Language for Web DevelopmentPHP: A Key Language for Web DevelopmentApr 13, 2025 am 12:08 AM

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

PHP: The Foundation of Many WebsitesPHP: The Foundation of Many WebsitesApr 13, 2025 am 12:07 AM

The reasons why PHP is the preferred technology stack for many websites include its ease of use, strong community support, and widespread use. 1) Easy to learn and use, suitable for beginners. 2) Have a huge developer community and rich resources. 3) Widely used in WordPress, Drupal and other platforms. 4) Integrate tightly with web servers to simplify development deployment.

Beyond the Hype: Assessing PHP's Role TodayBeyond the Hype: Assessing PHP's Role TodayApr 12, 2025 am 12:17 AM

PHP remains a powerful and widely used tool in modern programming, especially in the field of web development. 1) PHP is easy to use and seamlessly integrated with databases, and is the first choice for many developers. 2) It supports dynamic content generation and object-oriented programming, suitable for quickly creating and maintaining websites. 3) PHP's performance can be improved by caching and optimizing database queries, and its extensive community and rich ecosystem make it still important in today's technology stack.

What are Weak References in PHP and when are they useful?What are Weak References in PHP and when are they useful?Apr 12, 2025 am 12:13 AM

In PHP, weak references are implemented through the WeakReference class and will not prevent the garbage collector from reclaiming objects. Weak references are suitable for scenarios such as caching systems and event listeners. It should be noted that it cannot guarantee the survival of objects and that garbage collection may be delayed.

Explain the __invoke magic method in PHP.Explain the __invoke magic method in PHP.Apr 12, 2025 am 12:07 AM

The \_\_invoke method allows objects to be called like functions. 1. Define the \_\_invoke method so that the object can be called. 2. When using the $obj(...) syntax, PHP will execute the \_\_invoke method. 3. Suitable for scenarios such as logging and calculator, improving code flexibility and readability.

See all articles

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 Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.