MODXについて理解したメモ
WebサイトCMSとして、最近導入が広がっている「MODX」(モドエックス)[→日本公式サイト]について、試行錯誤しながらサイト構築をひと通りする機会がありました。
しかしながら、自分にとって理解しやすい解説が見当たらず、また解説サイトも多くはないので、自分なりにまとめたメモを公開します。
そんなにがっつりと構築したわけではないので、間違っている部分もあるかもしれませんが、ご了承ください。
勉強の仕方
書籍
書籍は「MODxでつくる!最強のCMSサイト」という書籍ひとつしか見当たらない。ちょっと古い上に、Amazonでの評価は分かれている。
書籍を購入してももちろん良いと思うが、どちらかというと、実際に導入してみて、入っているサンプルデータをいじくって実際の動作を確認するのが一番良いと思われる。
サイト
- MODxを30分で理解する!簡易チュートリアル|MODx 日本公式サイト
公式サイトの解説。信頼できる。 - e願い | ブログ » MODxでPHPコードで作成したスニペットからスニペット、チャンクを呼び出すrunSnippet、getChunk、parseChunk。
基本用語メモ
MODXには、聞きなれない用語が結構でてきてよくわからなくなるので、以下に自分なりの説明をまとめます。
- リソース:ページ、RSS、問い合わせフォームなどサイト表示上の構成要素となるもの。外から見たときの一つ一つのコンテンツを指す。
- モジュール:管理画面での機能を拡張するプラグインのようなもの
- エレメント:リソースはページの内容・コンテンツを指すが、エレメントはそのコンテンツの元となる部分を指す。ページのテンプレート、テンプレート変数、チャンク、スニペット、プラグインなどである。リソースは、これらエレメントを自由に組み合わせて作成される
- チャンク:ブログパーツのようなHTMLコードのパーツ。プログラムコードでは無い。単にHTMLパーツとして用いる事もできる(Google Adsenseのコードを入れて、任意の場所で利用したり、Google Adsenseのコードを入れておくと便利かもしれない。また、サイドバーなどにも用いることができそう。)が、各種スニペット用のテンプレートとして用いる場合もある。{{チャンク名}} で呼び出す。
- スニペット:ブログパーツのようなPHPコードのパーツ。動的生成が可能なパーツ。フォーム機能や、ページ単位でのコメント機能、サーチフォーム、パンくずリストなどを実現する。[[スニペット名]] で呼び出す。パラメータを付けることも可能。その際には、スニペット名の後に「?」を付加する。各パラメータは、先頭に「半角スペース」と「&」を付加する。パラメータの値は、「`」(グレーブアクセント。Shift+@)で囲む。
- プラグイン:システム寄りの拡張機能とのことだが、モジュールとの違いがよくわからない。
- テンプレート変数:リソースのメタ情報を呼び出す。[*テンプレート変数名*]
- プレースホルダー:スニペット内のテンプレート変数のようなもの。動的にどのように生成するかの指定に使われる。
基本構造メモ
管理画面左側にリソースツリーが見える
リソースツリーには、フォルダ構造のように階層構造とすることが可能。
階層のトップを指定して、その階層以下のコンテンツのRSSフィードを出す、などが可能
各リソースには、固有のページIDが割り振られており、そのID指定で、個別のページへのリンクが可能。
各リソースの末尾に「(3)」などの記載があるが、これが固有のページIDであり、その階層化にあるページ数では無いので注意。
リソース内で、「[~ページID~]」とすれば、そのIDページへのURLが出力される。
ページテンプレート作成法
ページテンプレートは、コンテンツを配置するテンプレートとなり、生のHTMLリソースで生成・編集が可能。
生のHTMLリソースからmodx指定のタグを埋め込むことで、簡単にテンプレート化が可能。
テンプレートにも、動的に生成したい部分(グローバルナビゲーションなど)があるが、そこは動的に生成するためのタグを入れることで対応が可能。
RSSフィードの生成法
ページを作成し、ページ設定から、コンテントタイプをRSS(application/rss+xml)にする。
コンテンツとしてDittoスニペットを呼び出す。
グローバルナビゲーション
グローバルナビゲーションは、指定のID以下のIDのページIDを対象として、有効なリソースツリーにしたがって生成されます。各リソースにメニューに表示するか否かのチェックボックスがあり、個別に設定も可能です。
プラグインのインストール
プラグインごとに異なると思いますが、通常、assetフォルダにプラグインの実体ファイルとルートフォルダにinstallフォルダをコピーし、installフォルダにアクセスするとウィザードによってインストールできるようになります。
インストール時には、診断も行うようですので、この手順に従うのが簡単で良いでしょう。
便利なプラグイン
EDIT AREA
編集エリアの行番号表示、自動インデント、ソースのシンタックスハイライト、タブによるインデントも可能なエディタ。動作も軽く便利。ショートカットキーも利用可能(Ctrl+Sで、保存かつ終了)
Sitemap
サイトからソースをダウンロードし、スニペットを新規作成から登録。指定のタグを入れれば簡単に作成可能。
DittoでRSSを出力する
RSS用のリソースを用意し、コンテンツ内容にDittoスニペットタグを入れる。
リソースの設定は、テンプレートを(Blank)にし、コンテントタイプを「application/rss+xml」)とし、リッチテキストで編集しないようにする。
出力方法は、2種類ある。
それは、parent_idを指定して、特定リソース+その配下のリソースのみのRSS生成とするか、start_idを指定して、リソース全体から指定のid以下のリソースRSSを生成するかである。
一部リソースをblogとし、それ以外を通常のサイトのようにしたいという場合には、blogリソースのidをparent_idとして出力するということも可能になる。
参考リンク:DittoでRSS出力する | Ryuzee.com
ソーテック社
売り上げランキング: 34539
ディスカッション
コメント一覧
まだ、コメントがありません