DEDECMS 静的テンプレート クラス ファイルとは何ですか?
DEDECMS 静的テンプレート クラス ファイルとは何ですか?
静的テンプレート クラス ファイル Dreamweaver テンプレート エンジンは、XML 名前空間形式を使用するテンプレート パーサーです。
推奨学習: Dreamweaver cms
最大のDreamweaver パーサーを使用してテンプレートを解析する利点は、タグの属性を簡単に指定できることです。HTML を使用しているような感覚で、テンプレート コードが非常に直感的かつ柔軟になります。Dreamweaver テンプレート エンジンの新しいバージョンは、テンプレートを実現するだけでなく、解析では、テンプレート内の不正なマークアップも分析できます。
include/dedetag.class.php このファイルは、dedecms V5.3 以前のバージョンで使用されるメイン テンプレート クラスであり、コンパイルされたものではなく、分析テンプレート クラスです (違いは、前者が実行されることです)タグの位置を取得することによるコンテンツの置換、後者は PHP コードを直接解析し、2 回実行されます)
1. テンプレート構文
1. Dreamweaver テンプレート エンジンのコード スタイルは次の形式になります。 :
{dede:タグ名属性='値'/}
{dede:タグ名属性='値'}{/dede:タグ名}
{ dede:タグ名 属性 = '値'} カスタム スタイル テンプレート (InnerText) {/dede: タグ名}
ヒント:
基礎となるテンプレートでタグを使用する場合は、厳密に次のことを行う必要があります。 {dede: タグ名 Attribute='value'}{/dede:tag name} この形式を使用します。それ以外の場合はエラーが報告されます。
2. DreamWeaver テンプレート エンジンには複数のシステム タグが組み込まれており、これらのシステム タグはあらゆる状況で直接使用できます。
(1) グローバル マークは、外部変数を取得することを意味します。データベース パスワードに加えて、システムの任意の構成パラメータを呼び出すことができます。形式は次のとおりです:
{dede:global name='変数名 '}{/dede:global}
または
{dede:global name='変数名'/}
変数名は追加できません$ 記号を使用した変数 $ cfg_cmspath は、{dede:global name='cfg_cmspath'/} と記述する必要があります。
(2) foreach は、次の形式で配列を出力するために使用されます:
{dede:foreach array='配列名'}[フィールド:キー/] [フィールド:値/] {/ dede:foreach}
(3) include は次の形式でファイルを導入します:
{dede:include file='ファイル名' ismake='dede プレート テンプレートかどうか ( yes/no) '/}
ファイルの検索パスは、絶対パス、インクルード フォルダー、CMS インストール ディレクトリ、CMS メイン テンプレート ディレクトリの順です。
3. Dreamweaver タグは許可されます。関数は取得した値を次の形式で処理します:
{dede: タグ名属性='値' function='youfunction("パラメータ 1", "パラメータ 2", "@me ")' /}
@me が現在のタグの値を表すために使用される場合、他のパラメーターは関数によって決定されます。例:
{dede:field name='pubdate ' function='strftime ("%Y-%m-%d %H:%M:%S","@me")'/}
4. Dreamweaver マークを使用すると、プログラミングの拡張が制限されます。
形式は次のとおりです:
コードは次のとおりです:
{dede:tagname runphp='yes'} $aaa = @me; @me = "123456"; {/dede:tagname}
@me はタグ自体の値を表すため、echo などのステートメントはタグ内でのプログラミングでは使用できません。タグはすべての戻り値を @me に渡すだけです。
さらに、プログラム コードは基礎となるテンプレート InnerText のコンテンツを占めるため、プログラミングが必要なタグはデフォルトの InnerText のみを使用できます。
2. 解析メソッド
dedetag.class.php には 4 つのクラスがあります
class DedeAttribute 属性構造式
class DedeAttributeParse 属性パーサー
class DedeTag タグ構造式
class DedeTagParse タグ パーサー
解析クラスを使用してテンプレートを解析する場合、通常は次の手順に従います
1. 初期化:
$dtp = new DedeTagParse();
2. テンプレート/テンプレート文字列のロード:
$dtp->LoadTemplate(テンプレート ファイル (絶対パス)); / /キャッシュが生成され、2 回目にテンプレートを解析する必要はありません (
または
$dtp->LoadSource(string);
3.タグへの値
foreach($dtp->CTags as $tid=>$ctag) {
//ctag の名前と属性を決定し、通常は異なる値を割り当てます。関数の使用
if($ctag->GetName=='mytag') $dtp->Assign($tid, mytagvalue($ctag) );
}
上記の例では、mytag という名前のタグを mytagvalue 関数に直接渡して処理していますが、mytagvalue は $ctag の各属性を決定し、異なる内容を返します。
V5.3 バージョンでは、通常、フィールドやリストなどの特殊なタグに加えて、arc.* で始まるクラスで解析されたファイルのタグが include/taglib のソース コードに相当します。システムによって決定され、自動マッピングが実行されます。
4. HTML として表示または保存
$dtp->display();
または
$dtp->SaveTo(静的ファイル)名前); ###
对于二次开发人员而言,不大需要知道dedecms模板具体解析方式,不过应该十分清楚CTag这个类的结构,从而判断标签不同属性进行处理。
代码如下:
class DedeTag { var $IsReplace=FALSE; //标记是否已被替代,供解析器使用 var $TagName=""; //标记名称 var $InnerText=""; //标记之间的文本 var $StartPos=0; //标记起始位置 var $EndPos=0; //标记结束位置 var $CAttribute=""; //标记属性描述,即是class DedeAttribute var $TagValue=""; //标记的值 var $TagID = 0; //获取标记的名称和值 function GetName() { return strtolower($this->TagName); } function GetValue() { return $this->TagValue; } //下面两个成员函数仅是为了兼容旧版 function GetTagName() { return strtolower($this->TagName); } function GetTagValue() { return $this->TagValue; } //获取标记的指定属性 function IsAttribute($str) { return $this->CAttribute->IsAttribute($str); } function GetAttribute($str) { return $this->CAttribute->GetAtt($str); } function GetAtt($str) { return $this->CAttribute->GetAtt($str); } function GetInnerText() { return $this->InnerText; } }
以上がDEDECMS 静的テンプレート クラス ファイルとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Empire CMS テンプレートのダウンロード場所: 公式テンプレートのダウンロード: https://www.phome.net/template/ サードパーティのテンプレート Web サイト: https://www.dedecms.com/diy/https://www.0978.com。 cn /https://www.jiaocheng.com/インストール方法: テンプレートをダウンロード テンプレートを解凍 テンプレートをアップロード テンプレートを選択

テンプレートの置換は、次の手順で Dedecms に実装できます: global.cfg ファイルを変更し、必要な言語パックを設定します。 taglib.inc.php フック ファイルを変更し、言語サフィックス テンプレート ファイルのサポートを追加します。言語サフィックスを含む新しいテンプレート ファイルを作成し、必要な内容を変更します。 Dececms キャッシュをクリアします。

Dedecms は、ニュース Web サイト、ブログ、電子商取引 Web サイト、フォーラムおよびコミュニティ Web サイト、教育 Web サイト、ポータル、その他のタイプの Web サイト (企業 Web サイト、個人 Web サイトなど) を含む、さまざまなタイプの Web サイトの作成に使用できるオープン ソース CMS です。ウェブサイト、フォトアルバムウェブサイト、ビデオ共有ウェブサイト)

Dedecms を使用してローカルビデオをアップロードするにはどうすればよいですか? Dedecms がサポートする形式のビデオ ファイルを準備します。 Dedecms 管理バックエンドにログインし、新しいビデオ カテゴリを作成します。動画管理ページで動画ファイルをアップロードし、関連情報を入力して動画カテゴリを選択します。記事の編集中にビデオを埋め込むには、アップロードしたビデオのファイル名を入力し、サイズを調整します。

Dedecms は、コンテンツ管理、テンプレート システム、セキュリティ保護を提供するオープン ソースの中国製 CMS システムです。具体的な使用方法には次の手順が含まれます。 1. Dedecms をインストールします。 2. データベースを構成します。 3. 管理インターフェイスにログインします。 4. コンテンツを作成します。 5. テンプレートを設定します。 6. ユーザーを管理します。 7. システムを保守します。

DedeCMS はオープン ソースのコンテンツ管理システムであり、潜在的な脆弱性とセキュリティ リスクがいくつかあります: 1. SQL インジェクションの脆弱性。攻撃者は悪意のある SQL クエリ ステートメントを構築することで、不正な操作を実行したり、機密データを取得したりできます。2. ファイル アップロードの脆弱性。攻撃者は、次の内容を含むファイルをアップロードできます。悪意のあるコードをサーバーに送信して任意のコードを実行したり、サーバーの権限を取得したりする; 3. 機密情報の漏洩; 4. 認証されていない脆弱性の悪用。

DedecMS でテンプレートの置換を実装するには、次の手順を実行する必要があります。 置換するテンプレート ファイルを決定します。index.htm、list.htm、および show.htm が含まれます。 DedecMS マークアップを保持したまま、新しいテンプレート ファイルを作成します。新しいテンプレート ファイルをアップロードし、元のファイルを上書きします。キャッシュの消去。サイトを更新して変更を確認します。

正確で信頼性の高い dedecms 変換ツール評価レポート インターネット時代の急速な発展に伴い、Web サイト構築は多くの企業や個人にとって必要なツールの 1 つになりました。 Web サイト構築において、コンテンツ管理システム (CMS) を使用すると、Web サイトのコンテンツと機能をより便利かつ効率的に管理できます。中でもdedecmsは有名なCMSシステムとして様々なWebサイト構築プロジェクトで広く利用されています。ただし、dedecms Web サイトを他の形式に変換する必要がある場合があります。その場合、変換ツールを使用する必要があります。
