ホームページ > バックエンド開発 > PHPチュートリアル > dedecmsテンプレート dedecmsテンプレートの作成方法と使用方法

dedecmsテンプレート dedecmsテンプレートの作成方法と使用方法

WBOY
リリース: 2016-07-29 08:36:57
オリジナル
1480 人が閲覧しました

解析エンジンの概要 テンプレート設計仕様 コードリファレンス
マークリファレンス: arclist(artlist,likeart,hotart,imglist,imginfolist,coolart,specart) フィールドチャネル mytag vote friendslink mynews ループ channelartlist ページリスト pagelist pagebreak fieldlist
1. Dreamweaver テンプレート解析エンジン概要 DedeCms のテンプレート コードを理解する前に、DreamWeaver テンプレート エンジンの知識を理解することは非常に有意義です。 Dreamweaver テンプレート エンジンは、XML 名前空間を使用するテンプレート パーサーです。Dreamweaver パーサーを使用してテンプレートを解析する最大の利点は、HTML を使用しているように感じられ、テンプレート コードが非常に柔軟になることです。 Dreamweaver テンプレート エンジンの新しいバージョンでは、テンプレートを解析できるだけでなく、テンプレート内の間違ったタグも分析できます。
1. Dreamweaver テンプレート エンジンのコード スタイルは次の形式になります:
{dede: タグ名属性='値'/}
{dede: タグ名属性='値'}{/dede: タグ名}
{ dede: タグ名属性 = '値'} カスタム スタイル テンプレート (InnerText) {/dede: タグ名}
ヒント:
形式 {dede: タグ名属性 = '値'} {/dede: タグ名} バージョンの場合2.1 では、終わりを示すために「{/dede}」のみを使用する必要がありますが、
V3 では厳密に「{/dede:mark name}」を使用する必要があります。そうしないとエラーが報告されます。
2. Dreamweaver テンプレート エンジンには複数のシステム タグが組み込まれており、これらのシステム タグはあらゆる状況で直接使用できます。
(1) グローバル タグは、データベース パスワードに加えて、システムの任意の構成パラメータを取得することを意味します。形式は
{dede:global name='variable name'}{/dede: global}
または
{dede:global name='variable name' /}
変数 $cfg_cmspath など、変数名に $ 記号を追加することはできません。これは、{dede:global name='cfg_cmspath' と記述する必要があります。 /}。
(2) foreach は、次の形式で配列を出力するために使用されます:
{dede:foreach array='配列名'}[field:key/] [field:value/]{/dede:foreach}
(3) include 導入 形式のファイル:
{dede:include file='ファイル名' /}
ファイルの検索パスは、絶対パス、インクルード フォルダー、CMS インストール ディレクトリ、CMS メイン テンプレート ディレクトリの順です
3. Dreamweaver マーク 任意のタグで関数を使用して、取得した値を次の形式で処理できるようにします:
{dede: タグ名属性='値' function='youfunction("パラメータ 1", "パラメータ 2", "@me" ) '/}
@me は現在のタグの値を表すために使用され、他のパラメーターは関数によって決定されます。例:
{dede:field name='pubdate' function='strftime("%Y-% m-% d %H:%M:%S","@me")' /}
2. DedeCmsテンプレート制作仕様
DedeCmsシステムのテンプレートは固定ではありません。新規作成時にカラムテンプレートを選択できます。公式が提供する最も基本的なデフォルトのテンプレートは、組み込みシステム モデルの各テンプレートです。ユーザーは、新しいチャネル モデルをカスタマイズした後、モデルに従って新しいテンプレートを設計する必要があります。
1. テンプレートのコンセプト、デザイン、使用については、次の概念を理解する必要があります:
1. セクション (表紙) テンプレート:
Web サイトのホームページまたはより重要な列の表紙に使用されるテンプレートを指し、通常は「index_identification ID」を使用します。 .htm "名前。 さらに、ユーザーは、個々のページのセクション テンプレート タグをサポートするか、個別に定義されたカスタム タグをサポートするかを選択できます。サポートされている場合、システムは、コンテンツを出力する前、または特定のファイルを生成する前に、セクション テンプレート タグ エンジンを使用して解析します。
2. リストテンプレート:
ウェブサイトの特定の列にあるすべての記事のリストのテンプレートを指し、通常は「list_identification ID.htm」という名前が付けられます。
3. ファイルテンプレート:
文書閲覧ページのテンプレートを表し、通常は「article_identification ID.htm」という名前が付けられます。
4. その他のテンプレート:
一般的なシステムには、通常、ホームページ テンプレート、検索テンプレート、RSS、JS コンパイル機能テンプレートなどのテンプレートが含まれています。さらに、ユーザーはテンプレートをカスタマイズして任意のファイルを作成することもできます。
2. 標準化のため、Dreamweaver では、次のように統一された名前を付けることを公式に推奨しています。
1. テンプレートの保存場所:
テンプレート ディレクトリ: {cmspath/templets/style name (英語、デフォルトはデフォルトです)ここで、system はシステムの基礎となるテンプレート、plus はプラグインによって使用されるテンプレートです)/特定の関数テンプレート ファイル}
一般的なテンプレートの場所: "/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 は、yes、yes を意味します。コンテンツ タイプが画像コレクションである列のデフォルトのリスト テンプレートです。
3. 主なタグリファレンス
1. arclist タグ
このタグは、DedeCms で最もよく使用されるタグであり、このタグで定義されるさまざまな属性によって拡張されます。 。 の。
機能:指定された文書リストを取得
適用範囲:表紙テンプレート、リストテンプレート、文書テンプレート
(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 に等しくなります。 (デフォルトは 1 列です);
[4] titlelen=' はタイトルの長さを表します;
[5] infolen='' はコンテンツの紹介の長さを表します;サムネイル;
[7] imgheight='' はサムネイルの高さを表し、
[8] type= '' はファイルの種類を示します。デフォルト値または type='all' は通常のドキュメントです。 「commend」は、推奨されるドキュメントを示します。これは、サムネイル画像が含まれる必要があることを示す
§ type='image' と同等です。 ドキュメント
[9] orderby='' は、リリースごとに並べられた senddate です。時間。
§ orderby='hot' または orderby='click' はクリック数による並べ替えを意味します
§ orderby='pubdate' 公開時間 (つまり、フロントデスクが変更を許可する時間値) による並べ替え
§ orderby= 'sortrank' 記事の新しさによる並べ替え 並べ替えレベルの並べ替え (固定記事を使用する場合はこの属性を使用します)
§ orderby='id' 記事 ID による並べ替え
[10] keyword='' は、次の内容を含むドキュメントのリストを表します指定されたキーワード、複数のキーワードは ", "を使用, ソフトウェア (3)
[12 ] limit='start, end' は、制限されたレコード範囲を示します。行属性は、MySQL の制限ステートメントが 0 から始まる必要があります。たとえば、「limit 0,5」です。 「」は最初の 5 つのレコードを取得することを意味します。レコード、「limit 5,5」は、5 番目のレコードから開始して 5 つのレコードを削除することを意味します。
(3) 下部テンプレート変数
ID (id と同じ)、title、iscommend、color、typeid、ismake、description (info と同じ)、
pubdate、senddate、arcrank、click、litpic (picname と同じ)、typedir、 typename、
arcurl (ファイル名と同じ)、typeurl、stime (pubdate の "0000-00-00" 形式)、
textlink、typelink、imglink、image
ここで:
textlink = title< ;/a> ;
typelink =
typename
imglink =
image =
変数呼び出しメソッド: [field :varname / ]
例:
{dede:arclist infolen='100'}
[field:textlink /]




2. field タグ
このタグは、特定の列またはファイルのフィールド値と一般的に使用される環境変数の値を取得するために使用されます
適用範囲: カバーテンプレート、リストテンプレート、ドキュメントテンプレート
(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 1 > 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= "1 ページあたりの結果の数 "/}
11. リスト マーク
はリスト テンプレート内のコンテンツ リストを表します
構文:
{dede:listcol='' 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 (ファイル名と同じ)、typeurl、stime (pubdate の「0000-00-00」形式)、
textlink、typelink、imglink、image
pagelist タグ
12.ページングのページ番号リストを表します
適用範囲: リスト テンプレート
構文:
{dede:pagelist listsize="3"/}
listsize は、[1][2][3] これらの項目の長さ x 2
13 を意味します。改ページタグ
使用法: ドキュメントのページ化されたリンク リストを表します。
適用範囲: ドキュメントテンプレートのみ。
構文: {dede:pagebreak /}
14. fieldlist タグ
目的: 添付されたテーブルのすべてのフィールド情報を取得します。
適用範囲: ドキュメントテンプレートのみ。
構文:
{dede:fieldlist}
[field:name /]: [field:value /]

{/dede:fieldlist}

上記では、dedecms テンプレートの内容を含め、dedecms テンプレートの作成方法と使用方法を紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

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