ホームページ > php教程 > php手册 > dedecmsテンプレート作成の使い方

dedecmsテンプレート作成の使い方

WBOY
リリース: 2016-06-13 12:32:08
オリジナル
1492 人が閲覧しました


解析エンジンの概要 テンプレート設計仕様 コード リファレンス
タグ リファレンス: arclist(artlist,likeart,hotart,imglist,imginfolist,coolart,specart) フィールド チャネル mytag vote friendslink mynews ループ channelartlist ページ リスト pagelist pagebreak fieldlist

1. DedeCms テンプレート解析エンジンの概要 DedeCms のテンプレート コードを理解する前に、DedeCms テンプレート エンジンの知識を理解することは非常に有意義です。 Dreamweaver テンプレート エンジンは、XML 名前空間を使用するテンプレート パーサーです。Dreamweaver パーサーを使用してテンプレートを解析する最大の利点は、HTML を使用しているように感じられ、テンプレート コードが非常に柔軟になることです。 Dreamweaver テンプレート エンジンの新しいバージョンでは、テンプレートを解析できるだけでなく、テンプレート内の間違ったタグも分析できます。

1. Dreamweaver テンプレート エンジンのコード スタイルは次の形式になります。
{dede: タグ名属性 = '値'/}
{dede: タグ名属性 = '値'} {/dede: タグ名}
{dede: タグ名属性 = 'value'} カスタム スタイル テンプレート (InnerText) {/dede: タグ名}

ヒント:
{dede: タグの場合name 属性 = 'value'} {/dede: タグ名} バージョン 2.1 では、終了を示すには「{/dede}」のみが必要ですが、
V3 では「{/dede:mark name}」、それ以外の場合は「{/dede:mark name}」が必要です。エラーが報告されます。

2. DreamWeaver テンプレート エンジンには複数の組み込みシステム タグがあり、あらゆる状況で直接使用できます。

(1) グローバル タグ。データベース パスワードに加えて、システムの任意の構成パラメータを取得できます。形式は次のとおりです。
{dede:global name= '変数名'}{ /dede:global}
または
{dede:global name='変数名' /}

変数名を $ 記号で追加することはできません。変数 $cfg_cmspath。これは {dede:global name ='cfg_cmspath' /} として記述する必要があります。

(2) foreach は、
{dede:foreach array='配列名'}[field:key/] [field:value/]{/dede の形式で配列を出力するために使用されます。 :foreach }

(3) include は次の形式でファイルを導入します:
{dede:include file='file name' /}
ファイルの検索パスは次の順序です: 絶対パス、インクルード ファイル フォルダー、CMS インストール ディレクトリ、CMS メイン テンプレート ディレクトリ

3. Dreamweaver タグを使用すると、任意のタグで関数を使用して、次の形式で取得された値を処理できます:
{dede: タグ名attribute = 'value ' function='youfunction("Parameter 1", "Parameter 2", "@me")'/}
このうち @me は現在のタグの値やその他のパラメータを表すために使用されます例:
{dede:field name='pubdate' function='strftime("%Y-%m-%d %H:%M:%S","@me") ' /}

2. DedeCms テンプレートの作成仕様

DedeCms システムのテンプレートは、新しいカラムを作成するときにユーザーが選択できます。公式は最も基本的なもののみを提供します。デフォルトのテンプレート (各組み込みシステム モデル)、DedeCms はカスタム チャネル モデルをサポートします。ユーザーは、新しいチャネル モデルをカスタマイズした後、モデルに従って新しいテンプレートを設計する必要があります。
1. テンプレートのコンセプト、デザイン、使用については、次の概念を理解する必要があります。
1. セクション (表紙) テンプレート:
Web サイトのホームページまたは表紙に使用されるテンプレートを指します。さらに、ユーザーが定義した単一のページまたはカスタム タグでも、セクション テンプレート タグをサポートするかどうかを選択できます。サポートされている場合、システムはセクション テンプレート タグ エンジンを使用して解析します。コンテンツを出力する前、または特定のファイルを生成する前に。
2. リストテンプレート:
Web サイトの特定の列にあるすべての記事のリストのテンプレートを指し、通常は「list_identification ID.htm」という名前が付けられます。
3. ファイル テンプレート:
ドキュメント表示ページのテンプレートを表し、通常は「article_identification ID.htm」という名前が付けられます。
4. その他のテンプレート:
一般的なシステムには、通常、ホームページ テンプレート、検索テンプレート、RSS、JS コンパイル機能テンプレートなどのテンプレートが含まれています。さらに、ユーザーはテンプレートをカスタマイズして任意のファイルを作成することもできます。
2. 名前付け。標準化のため、DreamWeaver では、次のような統一された方法でテンプレートに名前を付けることを公式に推奨しています。
1. テンプレートの保存場所:
テンプレート ディレクトリ: {cmspath/templets/style name ( English)、デフォルトはデフォルトです。ここで、system はシステムの基礎となるテンプレート、プラスはプラグインによって使用されるテンプレートです)/特定の関数テンプレート ファイル}
一般的なテンプレートの場所: "/templets/default"
2. テンプレート ファイルの命名規則:
(1) Index_identification ID.htm: セクション (列カバー) テンプレートを表します。
(2) list_identification ID.htm: 列リスト テンプレートを表します。 )article_identification ID.htm : コンテンツ閲覧ページ (トピック閲覧ページを含むドキュメント テンプレート) を示します。
(4) search.htm: 検索結果リスト テンプレート。 🎜> 注:
システム内の各コンテンツ チャネルの [識別 ID] は次のとおりです:
例: list_image.htm は、コンテンツ タイプが画像コレクションである列のデフォルトのリスト テンプレートであることを意味します。

3. 主要なタグのリファレンス

1. arclist タグ

このタグは、hoart、coolart、likeart、artlist、imglist、imginfolist など、DedeCms で最もよく使用されるタグです。 、specart これらのタグは、このタグで定義されたさまざまな属性によって拡張されます。

機能:指定した文書リストの取得

適用範囲:表紙テンプレート、リストテンプレート、文書テンプレート

(1) 基本構文:

{ dede :arclist
typeid='' row=''col='' titlelen=''
infolen='' imgwidth='' imgheight='' listtype='' orderby=''keyword=''}

カスタム スタイル テンプレート (InnerText)

{/dede:arclist}

このタグは、artlist、imglist、imginfolist タグと同等であり、そのうち完全に同等ですartlist。imglist や imginfolist とは異なり、これはデフォルトの基礎となるテンプレートにすぎません。


(2) 属性参照:

[1] typeid='' は列 ID を表します。これは通常、リスト テンプレートやファイル テンプレートで指定する必要はありません。表紙テンプレートで使用できる「,」は複数の列を個別に意味します。
[2] row='' は、col と組み合わせて使用​​した場合、結果の数は row *col [3]col='' は表示する列数を意味します (デフォルトは 1 列です)。
[4] titlelen='' はタイトルの長さを示します。
[6] imgwidth='' はサムネイルの幅を示し、
[8] type='' はサムネイルの高さを示します。 、デフォルト値または type='all' は通常のドキュメントです
§ type='commend' の場合、推奨ドキュメントを示します。これは
§ type='image' の場合、推奨されるドキュメントを示します。サムネイル画像が含まれている必要があります
[9] orderby='' は並べ替え方法を示し、デフォルト値は senddate 発売日順に並べ替えられます。
§ orderby='hot' または orderby='click' はクリック数で並べ替えることを意味します
§ orderby='pubdate' は公開時間 (つまり、フロント デスクが許可する時間値) で並べ替えることを意味します変更)
§ orderby='sortrank' 記事の新しい並べ替えレベルで並べ替えます (固定された記事を使用したい場合はこの属性を使用します)
§ orderby='id' 記事 ID で並べ替えます
[10] キーワード='' は、指定されたキーワードを含むことを意味します。ドキュメント リスト。複数のキーワードは「,」で区切られます。
[11] channelid='number' は、特定のチャネル タイプを示します。組み込みチャネル: トピック (-1) 、記事 (1)、ギャラリー (2)、フラッシュ (4)、ソフトウェア (3)
[12] limit='start, end' は、制限されたレコード範囲を示します。行属性は、「end - start」と等しくなければなりません。 "、mysql の limit ステートメントは 0 から始まります。たとえば、 "limit 0,5" は最初の 5 レコードを取ることを意味し、 "limit 5,5" は 5 番目のレコードから始まる 5 レコードを取ることを意味します。

(3) 基になるテンプレート変数

ID (id と同じ)、title、iscommend、color、typeid、ismake、description (info と同じ)、
pubdate、senddate、arcrank 、クリック、litpic (picname と同じ)、typedir、typename、
arcurl (ファイル名と同じ)、typeurl、stime (pubdate の「0000-00-00」形式)、
textlink、typelink、imglink、image

その中には、
textlink = title
typelink = typename >imglink =
image = < img src=' picname' border='0' width='imgwidth' height='imgheight'>

変数呼び出しメソッド: [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 > Column Two」の形式のリンク、title はこの形式のタイトルです

ドキュメント テンプレート: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 (info と同じ)、
pubdate、senddate、arcrank、click、litpic (picname と同じ)、typedir、typename、
arcurl (filename と同じ)、typeurl、stime (pubdate の "0000-00-00" 形式)、
textlink、typelink、imglink、image

12. ページリスト タグ

は、ページ分割されたページ番号リスト
適用範囲: リスト テンプレート

構文 :

{dede:pagelist listsize="3"/}

listsize は [1][2][3] を意味しますこれらの項目の長さ x 2

13. ページ区切りタグ

目的: ドキュメントのページ化されたリンク リストを表します。
適用範囲: ドキュメント テンプレートのみ。
構文: {dede:pagebreak /}

14. fieldlist タグ
目的: 添付されたテーブルのすべてのフィールド情報を取得します。
適用範囲: ドキュメント テンプレートのみ。
構文:
{dede:fieldlist}
[field:name /]: [field:value /]

{/dede:fieldlist}


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート