ディレクトリ構造
- /assets/ ・・・ スニペット・プラグインなど本体機能を補佐するシステムを格納します。
/assets/snippets/ ・・・ スニペット関連ファイルを格納します。
/assets/plugins/ ・・・ プラグイン関連ファイルを格納します。
/assets/modules/ ・・・ モジュール関連ファイルを格納します。
/assets/templates/ ・・・ テンプレート関連ファイルを格納します。
/assets/chunks/ ・・・ チャンク関連ファイルを格納します。
/assets/tvs/ ・・・ テンプレート関連ファイル・ウィジェット関連ファイルを格納します。
/assets/js/ ・・・ サイト全体で共通で用いるJavaScript(jQueryなど)を格納します。
/assets/cache/ ・・・ キャッシュファイルを格納します。このディレクトリの中身を全削除すると、データベースを参照してキャッシュを正しく再生成します。
【説明】
システムと関連するディレクトリはcacheディレクトリのみです。他のディレクトリは、暗黙のガイドラインとして配置されています。ある程度定めておかないと、プラグインごとに様々なディレクトリが作られて収拾がつかなくなる可能性があるためです。
テンプレートで使う画像やスタイルシートをtemplatesディレクトリに置く必要はありません。ディレクトリ階層が深くなり不便なので、慣れたディレクトリ構造で管理するのがよいでしょう。
(JavaScriptファイルも同じです)
※assets/cache/ディレクトリはtempディレクトリ下に移動することを検討しています。
- /content/ ・・・ コンテンツ(記事)で用いる素材を格納します。
/content/images/ ・・・ [(upload_images)]と紐付いており、画像ファイルを格納します。
/content/files/ ・・・ [(upload_files)]と紐付いており、ワード・エクセル・テキストファイルなどを格納します。
/content/media/ ・・・ [(upload_media)]と紐付いており、動画ファイル・音声ファイルなどを格納します。
/content/flash/ ・・・ [(upload_flash)]と紐付いており、Flashファイルを格納します。
【説明】
contentディレクトリは[(rb_base_url)]または[(rb_base_dir)]としてシステムと関連付けられています。ファイルブラウザやリッチテキストエディタプラグインがこの値を参照することで、画像や文書ファイルなどを記事中に挿入することができます。
※rb_base_urlの「rb」は、昔はファイルブラウザを「リソースブラウザ」と呼んでいたことに由来します。
- /install/ ・・・ インストーラ。インストールが終わったら必ず削除してください。
- /manager/ ・・・ 管理画面及びコア
/manager/actions/ ・・・ 管理画面を構成するファイル群。
/manager/processors/ ・・・ 管理画面上の操作ボタンをクリックした時などに行われる処理を記述したファイル群。現在のところ、ファイル管理やエクスポート機能など、一部の処理は分離されておらずactionsに混在しています。スマートフォン用の管理画面を作るためには、これらの処理の分離を徹底する必要があります。
/manager/includes/ ・・・ MODXの処理本体がここに集積されています。このディレクトリの内容は、将来的にはコア領域として完全に分離する予定です。分離することで、ひとつのコアで複数のMODXインスタンスを作成・管理できるようになります。
/manager/media/ ・・・ 管理画面を構成するファイル群。actionsディレクトリではアクション単位で処理を管理していますが、mediaディレクトリは全体で共通して用いるファイルを管理しています。たとえば管理画面のデザインやjQuery・カレンダーウィジェットなどがここに格納されています。
/manager/frames/ ・・・ エントリーポイントであるindex.phpと管理画面アクションを紐付けるファイルをここで管理します。framesというディレクトリ名が示すとおり、管理画面のフレーム構成と紐付いています。
MODx0.9.2までは複数のフレーム構成を選択できるようになっていましたが、現在はパターン「1」のみが残っています。「1.php」というファイル名は、そのなごりです。
【説明】
managerディレクトリ以下でインストール後に追加・更新されるファイルはconfig.inc.phpのみです。他のファイルは運用を通じて更新される可能性がありませんので、FTPの転送失敗が疑われる場合などは全ファイルを安全に上書き転送できます。
システムの処理を追加ファイルでオーバーライドする仕組みもありませんので、新しいシステムを転送したのに古い処理が残るなどの、整合性における問題が発生することもありません。MODXでは管理機能の追加はmanagerディレクトリとは関係なくプラグインやモジュールで行います。
- /temp/ ・・・ 一時的に利用するデータ。このディレクトリは破損してもサイトの表示には影響しません。
/temp/backup/ ・・・ スナップショットデータを格納します。管理画面のバックアップマネージャで用います。
/temp/export/ ・・・ エクスポートデータをhtmlファイルとしてここに出力します。
/temp/import/ ・・・ インポート機能で取り込みたいhtmlファイルをここに格納します。インポートが済んだら削除してもかまいません。
- index.php ・・・ コントローラ(エントリーポイント)。また、このファイルを外部PHPスクリプトから読み込むことで、そのスクリプト内で$modxインスタンスを利用することができます。
- index-ajax.php・・・AjaxSearchやJotなど一部のスニペットで、ajax処理を通じてシステム情報を取得するために用います。
- captcha.php・・・画像認証に用います。