ホームページ >バックエンド開発 >PHPチュートリアル >dedecmsテンプレートの使い方production_PHPチュートリアル
解析エンジンの概要 テンプレート設計仕様 コードリファレンス
マークリファレンス: arclist(artlist,likeart,hotart,imglist,imginfolist,coolart,specart) フィールドチャネル mytag vote friendslink mynews ループ channelartlist ページリスト pagelist pagebreak fieldlist
1.分析エンジンの概要 DedeCms のテンプレート コードを理解する前に、DreamWeaver テンプレート エンジンの知識を理解しておくことは非常に有意義です。 Dreamweaver テンプレート エンジンは、XML 名前空間を使用するテンプレート パーサーです。Dreamweaver パーサーを使用してテンプレートを解析する最大の利点は、HTML を使用しているように感じられ、テンプレート コードが非常に柔軟になることです。 Dreamweaver テンプレート エンジンの新しいバージョンでは、テンプレートを解析できるだけでなく、テンプレート内の間違ったタグも分析できます。
1. Dreamweaver テンプレート エンジンのコード スタイルは次の形式になります:
{dede: タグ名属性='値'/}
{dede: タグ名属性='値'}{/dede: タグ名}
{dede:mark name 属性='value'}カスタム スタイル テンプレート (InnerText){/dede:mark name}
ヒント:
{dede:mark name 属性='value'}{/dede:mark name} の場合この形式のマーク、バージョン 2.1 では、終わりを示すために「{/dede}」のみを使用する必要がありますが、
V3 では厳密に「{/dede:mark name}」を使用する必要があります。そうしないとエラーが発生します。報告。
2. Dreamweaver テンプレート エンジンには複数のシステム タグが組み込まれており、これらのシステム タグはあらゆる状況で直接使用できます。
(1) グローバル タグは、データベース パスワードに加えて、システムの任意の構成パラメータを取得することを意味します。形式は
{dede:global name='variable 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' /}
ファイルの検索パスは、絶対パス、include フォルダー、CMS インストール ディレクトリ、CMS メイン テンプレート ディレクトリの順です
3. DreamWeaver タグを使用すると、任意のタグで関数を使用して、次の形式で取得した値を処理できます。
{dede: タグ名属性='値' function='youfunction("Parameter One","Parameter Two", "@ 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で最もよく使用されるタグであり、hoart、coolart、likeart、artlist、imglist、imginfolist、specartはすべてこのタグで定義されます。 . 属性が拡張されます。
機能:指定された文書リストを取得
適用範囲:表紙テンプレート、リストテンプレート、文書テンプレート
(1)基本構文:
{dede:arclist
typeid=''row=''col='' titlelen =''
infolen='' imgwidth='' imgheight='' listtype='' orderby=''keyword=''}
カスタム スタイル テンプレート (InnerText)
{/dede:arclist}
this タグartlist、imglist、imginfolist タグと同等です。artlist と完全に同一であり、デフォルトの基礎となるテンプレートのみが imglist および imginfolist と異なります。
(2) 属性参照:
[1] typeid='' は列 ID を表します。通常、リスト テンプレートおよびファイル テンプレートでは指定する必要はありません。カバー テンプレートでは、「,」を表すことができます。複数の列を個別に指定します。
[2] row='' は、返されるドキュメントの行数を意味します。col と組み合わせて使用すると、結果の数は row*col に等しくなります。表示する列 (デフォルトは単一列);
[4] titlelen='' はタイトルの長さを表します;
[6] imgwidth='' はコンテンツの紹介の長さを表します。サムネイルの幅;
[7] imgheight='' はサムネイルの高さを表します;
[8] type='' はファイルの種類を示します。 type='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、isommend、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 = タイトル
typelink = typename
imglink =
image =
変数呼び出しメソッド: [ field:varname /]
例:
{dede:arclist infolen='100'}
[field:textlink /]
[field:info /]
/dede:arclist }
2. フィールドタグ
このタグは、特定の列またはファイルのフィールド値と一般的に使用される環境変数値を取得するために使用されます
適用範囲: カバーテンプレート、リストテンプレート、ドキュメントテンプレート
( 1) 基本構文
{dede:field name=''/}
(2) name 属性の値:
Plate template: phpurl、indexurl、indexname、templateurl、memberurl、powerby、webname、specurl
リスト テンプレート: 位置、タイトル、phpurl 、templeturl、memberurl、powerby、indexurl、indexname、specurl、列テーブル dede_arctype のすべてのフィールド
ここで、位置は「列 1 > 列 2」の形式のリンクであり、タイトルはこの形式のタイトル
ドキュメント テンプレート: 位置、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: 表示
{dede:type}
{/dede:type} | |||
{dede:arclist row="8"} ·[field:title /] {/dede:arclist} |