MODxを理解し始めた人は誰でも新しい用語に直面するでしょう。 すべてが覚えやすいです。 そして、何がどのように書かれているかを覚えておく必要がないように、ここですべてに注意します。
また、ここでは、定期的に覗くことができる小さな点に注意します。
用語
テンプレート -構造とデザインを含むページの一般的なレイアウトが含まれています。 また、動的コンテンツを表示する場所も定義します。 ドキュメントごとに、独自のテンプレートを選択できます。
パラメータ(TV) -テンプレートに接続されている追加のパラメータ。 パラメータにはさまざまなタイプ(テキスト、リンク、ファイル、日付、番号など)を指定できます。 タイプの詳細については、次の記事を参照してください。
チャンクは、一部のコンテンツ(すべてのページに電話)を表示するだけでなく、それを処理する(eForm送信メールテンプレート、Ditto出力ディレクトリテンプレートなど)ために使用できる小さなテンプレートです。 したがって、情報のタイプ(プレゼンテーション)は処理の場所から分離され、簡単に制御できます。
スニペット -情報を処理するためのコード。 受信した情報(たとえば、ユーザーのメッセージ)を分析し、結果を提供します(たとえば、メールでメッセージを送信すると、ユーザーに結果に関するメッセージが表示されます)。 スニペットはメニュー(Wayfinder)を形成し、ページ分割された記事のリストを表示(Ditto)、ビルドフォーム(eForm)。 出力にはチャンクを使用します。
プラグインは、イベントが発生したときに起動されるコードです。 たとえば、検索ページから移動すると、検索語が強調表示されます(検索の強調表示)。 多くのイベントがあり、それらの検討は別の記事の価値があります。
特別なタグ
動的データを出力するには、特別なタグが使用されます。
システム
[(site_name)] -サイト名
[(base_url)]または
[(site_url)] -サイトアドレス(http://modx.ru)
[(modx_charset)] -エンコードを使用
[^ qt ^] -データベースクエリの時間
[^ q ^] -データベースクエリ
[^ p ^] -PHPスクリプトを実行する時間
[^ t ^] -ページ生成の合計時間
[^ s ^] -コンテンツソース(ベースまたはキャッシュ)
標準
[* pagetitle *] -ドキュメントのタイトル
[* longtitle *] -拡張ドキュメントタイトル
[* description *] -ドキュメントの説明
[*イントロテキスト*] -文書の要約
[*コンテンツ*] -ドキュメントコンテンツ
[*エイリアス*] -ドキュメントのエイリアス
[* id *] -ドキュメントの識別子(番号)
[* pub_date *] -ドキュメントの公開日
[* unpub_date *] -発行完了の日付
[* createdby *] -ドキュメントを作成したユーザーの識別子
[* createdon *] -ドキュメントが作成された日付
[*編集者*] -ドキュメントを編集したユーザーのID
[* editedon *] -ドキュメントが編集された日付
[〜identifier〜] -指定されたドキュメントのURL
追加
[*タイプ*] -オプション(ドキュメント、フォルダー、またはリンク)
[* contentType *] -コンテンツタイプ(たとえば、text / html)
[*公開*] -ドキュメントが公開されたかどうか(1 | 0)
[*親*] -親ドキュメントの番号(ID)
[* isfolder *] -ドキュメントがフォルダーかどうか(1 | 0)
[* richtext *] -ドキュメントの編集時にビジュアルエディターを使用するかどうか
[* template *] -ドキュメントに使用されるテンプレートの番号(ID)
[* menuindex *] -メニューにシリアル番号を表示します
[* searchable *] -
検索可能なドキュメントです(1 | 0)
[*キャッシュ可能*] -ドキュメントをキャッシュするかどうか(1 | 0)
[*削除*] -ドキュメントが削除されました(1 | 0)
[* deletedby *] -ドキュメントを削除したユーザーの識別子
[* menutitle *] -メニューのタイトル。 使用しない場合は、ドキュメントのタイトル
[* donthit *] -訪問追跡の無効化数(1 | 0)
[* haskeywords *] -ドキュメントにキーワードが含まれています(1 | 0)
[* hasmetatags *] -ドキュメントにメタタグがあります(1 | 0)
[* privateweb *] -ドキュメントはユーザードキュメントのプライベートグループに含まれます(1 | 0)
[* privatemgr *] -ドキュメントは管理ドキュメントのプライベートグループの一部です(1 | 0)
[* content_dispo *] -コンテンツを表示するオプション(1-表示する| 0-ダウンロードする)
[* hidemenu *] -ドキュメントはメニューに表示されません(1 | 0)
TVオプション、スニペット、チャンク
[*パラメータ
名TV *] -ドキュメントのパラメータ値を表示します。
{{ChunkName}} -チャンクの内容を返します。
[[スニペット名]] -
スニペットの結果を返します。 追加のパラメーターをスニペットに渡し、呼び出されたときにそれらをリストすることもできます-
[[スニペット名? &parameter1 = `value1`&parameter2 =` value2`&parameterN = `valueN`][+変数
名+] -処理に使用されるチャンク(Ditto、eFormなど)にあります。 処理後、代わりに値が挿入されます。 したがって、これも一種のミニ言語ですが、スニペット用です。
ニュアンス
1)実際には、スニペットを呼び出すための2つのオプションがあります。
[[スニペット名]] -キャッシュされたスニペット呼び出し
[! スニペット
名!] -キャッシュされていないスニペット呼び出し
2)スニペットで追加のパラメーターを使用するときは、レコードが改行で分割されないようにする必要があります。 その場合、スニペットは動作を拒否します。
使用する場所
すべてが非常に調和して使用されます。
テンプレートでは、パラメータTV、スニペット、チャンクを使用できます。
チャンクでは、スニペット、TVパラメーター、その他のチャンクを呼び出すことができます。
スニペットですべてを呼び出すことができますが、PHPを使用します。
最終的に、TVのすべてのスニペット/チャンク/パラメータを処理した最終結果が返されます。
テンプレートの例
<html>
<head>
<タイトル> [(site_name)] | [* pagetitle *] </ title>
<meta http-equiv = "Content-Type" content = "text / html; charset = [(modx_charset)]»/>
<base href = "[(site_url)]"> </ base>
<link rel = "alternate" type = "application / rss + xml" title = "RSS 2.0" href = "[(site_url)] [〜11〜]" />
</ head>
<本体>
<div id = "header">
<h1> <a id=determinedlogo> href = "[〜[(site_start)!〜!" title = "[(site_name)†"> [(site_name)] </a> </ h1>
<div id = "ajaxmenu"> [[Wayfinder?startId = `0`&outerTpl =` mh.OuterTpl`&innerTpl = `mh.InnerTpl`&rowTpl =` mh.RowTpl`&innerRowTpl = `mh.InnerRowTpl`&firstClass =` first` &hereClass = ``]] </ div>
</ div>
<h2>ニュース:</ h2>
[[同じ? &startID = `2`&Summary =` 2`&total = `20`&commentschunk =` Comments`&tpl = `nl_sidebar`&showarch =` 0`&truncLen = `100`&truncSplit =` 0`]]
<div id = "content">
<h2> [* longtitle *] </ h2>
[*#content *]
</ div>
</ body>
</ html>
他のすべてはこの情報に基づいています。