>  기사  >  백엔드 개발  >  Dedecms 템플릿 Dedecms 템플릿 제작 및 사용방법

Dedecms 템플릿 Dedecms 템플릿 제작 및 사용방법

WBOY
WBOY원래의
2016-07-29 08:36:571396검색

파싱 엔진 개요 템플릿 디자인 사양 코드 참조
태그 참조: arclist(artlist,likeart,hotart,imglist,imginfolist,coolart,specart) 필드 채널 mytag vote friendlink mynews 루프 채널 아트 목록 페이지 목록 페이지 나누기 fieldlist
一, Dreamweaver 템플릿 파싱 엔진 개요 DedeCms의 템플릿 코드를 이해하기 전에 Dreamweaver 템플릿 엔진에 대한 지식을 이해하는 것은 매우 의미가 있습니다. Dreamweaver 템플릿 엔진은 XML 네임스페이스를 사용하는 템플릿 파서입니다. Dreamweaver 파서를 사용하여 템플릿을 파싱할 때의 가장 큰 장점은 HTML을 사용하는 것처럼 느껴져 템플릿 코드가 매우 유연해진다는 것입니다. , Dreamweaver 템플릿 엔진의 새 버전은 템플릿을 구문 분석할 수 있을 뿐만 아니라 템플릿의 잘못된 태그도 분석할 수 있습니다.
1. Dreamweaver 템플릿 엔진의 코드 스타일은 다음과 같은 형식을 갖습니다.
{dede: 태그 이름 속성 = 'value'/}
{dede: 태그 이름 속성 = 'value'}{/dede :태그 이름}
{dede:태그 이름 속성='값'}사용자 정의 스타일 템플릿(InnerText){/dede:태그 이름}
팁:
{dede:태그 이름 속성='값 '의 경우 }{/dede:mark name}, 버전 2.1에서는 끝을 나타내기 위해 "{/dede}"만 사용해야 했지만
V3에서는 "{/dede:mark name}"을 엄격하게 사용해야 합니다. 그렇지 않으면 오류가 보고됩니다.
2. Dreamweaver 템플릿 엔진에는 어떤 상황에서도 직접 사용할 수 있는 여러 개의 시스템 태그가 내장되어 있습니다.
(1) 전역 태그는 데이터베이스 비밀번호 외에도 시스템의 모든 구성 매개변수를 호출할 수 있음을 의미합니다.
{dede:global name='변수 이름' }{/dede: global}
또는
{dede:global name='variable name' /}
변수 이름은 $cfg_cmspath 변수와 같이 $ 기호로 추가할 수 없습니다. {dede:global name='cfg_cmspath' /} 로 작성됩니다.
(2) foreach는 다음 형식으로 배열을 출력하는 데 사용됩니다.
{dede:foreach array='array name'}[field:key/] [field:value/]{/dede:foreach}
(3) include는
{dede:include file='file name' /} 형식으로 파일을 소개합니다.
파일 검색 경로는 절대 경로, 포함 폴더, CMS 순서입니다. 설치 디렉토리, CMS 기본 템플릿 디렉토리
3. Dreamweaver 태그를 사용하면 모든 태그의 함수를 사용하여 다음 형식으로 얻은 값을 처리할 수 있습니다.
{dede: 태그 이름 속성='값' 함수='youfunction ("parameter One","Parameter Two","@me")'/}
여기서 @me는 현재 태그의 값을 나타내는 데 사용되며, 다른 매개변수는 존재 여부에 따라 함수에 의해 결정됩니다. 예를 들면 다음과 같습니다.
{dede:필드 이름='pubdate' function='strftime("%Y-%m-%d %H:%M:%S","@me")' /}
2. 템플릿 제작 사양
DedeCms 시스템의 템플릿은 고정되어 있지 않습니다. 사용자는 새 열을 생성할 때 열 템플릿을 선택할 수 있습니다. 공식에서는 DedeCms가 지원하는 가장 기본적인 기본 템플릿만 제공합니다. 사용자 정의 채널 모델 및 사용자 정의 새 채널 모델 마지막으로 모델에 따라 새로운 템플릿 세트를 설계해야 합니다.
1. 템플릿의 개념, 디자인 및 사용은 다음 개념을 이해해야 합니다.
1. 섹션(표지) 템플릿:
웹사이트의 홈페이지 또는 표지에 사용되는 템플릿을 말합니다. 더 중요한 열은 일반적으로 "index_identification ID.htm"을 사용합니다. 또한 사용자가 정의한 단일 페이지 또는 사용자 정의 태그는 섹션 템플릿 태그 지원 여부를 선택할 수도 있습니다. 지원되는 경우 시스템은 섹션 템플릿 태그 엔진을 사용하여 구문 분석합니다. 콘텐츠를 출력하거나 특정 파일을 생성하기 전에.
2. 목록 템플릿:
웹 사이트의 특정 열에 있는 모든 기사 목록의 템플릿을 말하며 일반적으로 "list_identification ID.htm"이라는 이름을 사용합니다.
3. 파일 템플릿:
문서 보기 페이지의 템플릿을 나타내며 일반적으로 "article_identification ID.htm"으로 명명됩니다.
4. 기타 템플릿:
일반 시스템에는 일반적으로 홈 페이지 템플릿, 검색 템플릿, RSS, JS 컴파일 기능 템플릿 등의 템플릿이 포함됩니다. 또한 사용자는 템플릿을 사용자 정의하여 파일을 만들 수도 있습니다.
2. 명명 표준화를 위해 DreamWeaver는 공식적으로 다음과 같이 템플릿 이름을 지정하는 통일된 방법을 사용할 것을 권장합니다.
1. 템플릿 저장 위치:
템플릿 디렉터리: {cmspath/templets/style 이름( 영어), 기본값은 default입니다. 여기서 system은 시스템의 기본 템플릿이고 플러그인에서 사용하는 템플릿입니다)/특정 기능 템플릿 파일}
일반 템플릿 위치: "/templets/default"
2. 템플릿 파일 명명 규칙:
(1) index_identification ID.htm: 섹션(열 표지) 템플릿을 나타냅니다.
(2) list_identification ID.htm: 열 목록 템플릿을 나타냅니다.
(3) ) Article_identification ID.htm : 콘텐츠 보기 페이지(주제 보기 페이지를 포함한 문서 템플릿)를 나타냅니다.
(4) search.htm: 검색 결과 목록 템플릿
(5) index.htm: 홈 페이지 템플릿; 🎜> 참고:
시스템에 있는 각 콘텐츠 채널의 [식별 ID]는 다음과 같습니다.
예: list_image.htm은 콘텐츠 유형이 사진 모음인 열의 기본 목록 템플릿임을 의미합니다.
3. 메인 마크 참조
1. arclist 마크
이 마크는 DedeCms에서 가장 많이 사용되는 마크로 그 중 hotart,coolart,likeart,artlist,imglist,imginfolist,specart가 모두 이것으로 표현됩니다. 마크는 정의된 다양한 속성에서 확장됩니다.
기능: 지정된 문서 목록 가져오기
적용 범위: 표지 템플릿, 목록 템플릿, 문서 템플릿
(1) 기본 구문:
{dede:arclist
typeid='' row= ' ' col='' titlelen=''
infolen='' imgwidth='' imgheight='' listtype='' orderby='' 키워드=''}
사용자 정의 스타일 템플릿(InnerText)
{ /dede:arclist}
이 태그는 artlist, imglist 및 imginfolist 태그와 동일하며, 기본 기본 템플릿에서만 imglist 및 imginfolist와 다릅니다.
(2) 속성 참조:
[1] typeid=''는 열 ID를 나타내며 일반적으로 목록 템플릿 및 파일 템플릿에서 지정할 필요가 없습니다. 표지 템플릿에서는 ","가 허용됩니다. 여러 열을 개별적으로 나타내는 데 사용됩니다.
[2] row=''는 반환된 문서의 행 수를 의미합니다. col과 함께 사용하면 결과 수는 row * col과 같습니다. ] col='' 표시할 열 수를 의미합니다(기본값은 단일 열).
[4] titlelen=''은 제목 길이를 나타냅니다.
[5] infolen=''은 콘텐츠 소개 길이를 나타냅니다. 🎜>[6] imgwidth=''는 썸네일 너비를 나타냅니다.
[7 ] imgheight=''는 썸네일 높이를 나타냅니다.
[8] type=''은 파일 유형을 나타냅니다. 여기서 기본값 또는 유형은 ='all'은 일반 문서입니다.
§ type='commend'는 권장 사항을 나타냅니다.
§ type='image'와 동일한 문서는 문서에 축소판 이미지가 포함되어야 함을 나타냅니다.
[9] orderby=' '는 정렬 방식을 나타내며, 기본값은 출시 시간 순으로 정렬된 senddate입니다.
§ orderby='hot' 또는 orderby='click'은 클릭 수를 기준으로 정렬하는 것을 의미합니다
§ orderby='pubdate'는 게시 시간(즉, 프런트 데스크에서 허용하는 시간 값)을 기준으로 정렬합니다. 변경)
§ orderby=' sortrank' 기사의 새로운 정렬 수준으로 정렬(고정된 기사를 사용하려면 이 속성 사용)
§ orderby='id' 기사 ID로 정렬
[10] 키워드=''는 지정된 키워드가 포함되어 있음을 의미합니다. 문서 목록, 여러 키워드는 ","로 구분됩니다.
[11] 채널 ID='번호'는 특정 채널 유형, 내장 채널을 나타냅니다: 주제(-1) , 기사(1), 갤러리(2), Flash(4), 소프트웨어(3)
[12] Limit='start, end'는 제한된 레코드 범위를 나타내며 행 속성은 "end - start"와 같아야 합니다. ", mysql의 제한 문은 0부터 시작합니다. 예를 들어 "limit 0,5"는 처음 5개의 레코드를 가져오는 것을 의미하고, "limit 5,5"는 다섯 번째 레코드부터 시작하여 5개의 레코드를 가져오는 것을 의미합니다.
(3) 하단 템플릿 변수
ID(id와 동일), title, iscommend, color, typeid, ismake, 설명(info와 동일),
pubdate, senddate, arcrank, click, litpic(동일) as picname) ,typedir,typename,
arcurl(파일 이름과 동일),typeurl,stime(pubdate의 "0000-00-00" 형식),
textlink,typelink,imglink,image
여기서:
textlink = 제목
typelink = 유형 이름
imglink =
image =
변수 호출 방법: [field:varname /]
예:
{dede:arclist infolen='100'}
[field :textlink /]


[field:info /]


{/dede:arclist}
2. 이 태그가 사용됩니다. 특정 열 또는 파일 필드 값과 일반적으로 사용되는 환경 변수 값을 가져옵니다
적용 범위: 표지 템플릿, 목록 템플릿, 문서 템플릿
(1) 기본 구문
{dede:field name='' /}
( 2) name 속성의 값:
섹션 템플릿: phpurl, indexurl, indexname, Templeturl, memberurl, powerby, webname, specurl
목록 템플릿: position, title, phpurl, Templeturl, memberurl, powerby, indexurl, indexname, specurl, 열 테이블의 모든 필드 dede_arctype
여기서 position은 "column one > columns two" 형식의 링크이고 title은 이 형식의 제목입니다
Document 템플릿: position,phpurl,templeturl,memberurl,powerby , indexurl, indexname, specurl, id (ID,aid와 동일), dede_archives 아카이브 테이블 및 추가 테이블의 모든 필드.
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' lineheight='22'
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}







[field:typename /]

更多...

{/dede:type}

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

{/dede:arclist}

 

{/dede:channelArtlist}
channelArtlist는 다른 태그를 직접 중첩할 수 있는 유일한 태그이지만
{dede:type}{/dede:type} 및 {dede:arclist 중첩으로 제한됩니다. }{/dede:arclist}
태그.
(1) 속성
typeid=0 채널 ID. 기본적으로 중첩 태그는 이 열 ID의 하위 열을 사용합니다. 특정 열을 사용하려면 ","를 사용하여 여러 열을 구분할 수 있습니다. . ID.
col=2 여러 열에 표시
tablewidth='100%' 주변 테이블의 크기
10. 페이지 태그
는 페이징 페이지의 추가 매개변수를 나타냅니다
적용 범위: 목록 템플릿
구문:
{dede:page pagesize="페이지당 결과 수"/}
11. 목록 태그
는 목록 템플릿의 콘텐츠 목록을 나타냅니다.
구문:
{dede:list col ='' titlelen=''
infolen='' imgwidth='' imgheight='' orderby=''}{/dede:list}
기본 템플릿 변수
ID (id와 동일), title, iscommend, color, typeid, ismake, Description (정보와 동일),
pubdate, senddate, arcrank, click, litpic (picname과 동일), typedir, typename,
arcurl ( 파일 이름과 동일), typeurl, stime(pubdate의 "0000-00-00" 형식),
textlink,typelink,imglink,image
12. 페이지 목록 태그
는 페이지가 매겨진 페이지 번호 목록을 나타냅니다
적용 범위: 목록 템플릿
구문:
{dede:pagelist listsize="3"/}
listsize는 [1][2][3] 이 항목의 길이 x 2
13을 의미합니다. . Pagebreak 태그
용도: 문서의 페이징 링크 목록을 나타냅니다.
적용 범위: 문서 템플릿만 해당됩니다.
구문: {dede:pagebreak /}
14. fieldlist 태그
목적: 첨부된 테이블의 모든 필드 정보를 가져옵니다.
적용 범위: 문서 템플릿만 해당됩니다.
구문:
{dede:fieldlist}
[필드:이름 /]: [필드:값 /]

{/dede:fieldlist}

위 내용은 dedecms 템플릿 내용을 포함하여 dedecms 템플릿 제작 및 사용 방법을 소개하고 있으니, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.