MODx 基本的なこと

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>





他のすべてはこの情報に基づいています。



All Articles