アプリケーション開発

~ modx 開発 ~


introduction

modx でいうところのモジュールとは、modx で管理するコンテンツ向けに提供するものではなく、modx 管理画面自体を拡張する目的で利用されます。なので、独自のインターフェイスを備え、modx 管理画面の「モジュール」コーナーのサブメニューからインターフェイスを呼び出して実行します。


[図01]作成したモジュールのメニュー

how to make

モジュールを作成するには、「モジュールメニュー > モジュール管理サブメニュー」を選択し、ボタンを押してください。

モジュール作成画面が表示されるので、モジュール名とモジュールコード(php) を記述します。モジュール一覧に自作アイコンを表示したい場合はIcon(32x32) を、カテゴリー分けしたい場合はカテゴリー作成を入力します。


[図02]モジュールメイン画面

続けて[図02]モジュールメイン画面のうち、「設定タブ」をクリックし、モジュール設定を行います。モジュール設定を利用することで、モジュール設計者は、モジュール利用者に対して、簡単にモジュールの動作を変更する手段を提供できます。


[図03]モジュール設定画面

モジュール設定について

入力形式は次の通りです。

&[モジュール名(英数字)]=[モジュールの説明文];[変数の型];[設定値(型によっては初期値)];[型によっては設定値]

  • 変数名(英数字)
  • [図02]モジュールメイン画面のモジュールコード(php) で参照する変数名。

  • モジュールの説明文
  • モジュール名の用途などを記載します。

  • 変数の型
  • 変数名の型を定義します。次の型が利用できます。
    1. int
      モジュール利用者にテキストボックスによる設定手段を提供します。
    2. menu
      モジュール利用者にセレクトボックスによる設定手段を提供します。モジュール設計者は「設定値(型によっては初期値]」により初期値を与えることができます。
    3. list
      モジュール利用者にリストボックスによる設定手段を提供します。モジュール設計者は「設定値(型によっては初期値]」により初期値を与えることができます。
    4. list-multi
      モジュール利用者に複数選択可能なリストボックスによる設定手段を提供します。モジュール設計者は「設定値(型によっては初期値)」により初期値を与えることができます。
    5. textarea
      モジュール利用者にテキストエリアによる設定手段を提供します。

  • 設定値(型によっては初期値)
  • 変数の型が int または textarea の場合はモジュール利用者が入力した設定値に置き換わり、menu、list、list-multi の場合はモジュール設計者が意図する初期値を記載します。

  • 型によっては設定値
  • 変数の型が menu、list、list-multi の場合のみ有効で、モジュール利用者が入力した設定値に置き換わります。

例えば次のような文字列を記述することで、[図02]モジュールメイン画面のモジュールコード(php) では $modParam01、$modParam02 という変数が利用可能となり、それぞれの値は 設定値01、設定値02 となります。さらに、[図04]モジュール設定画面(モジュール利用者の入力手段)のようにモジュール利用者はそれぞれの変数の値を自由に設定することが可能となります。


[図04]モジュール設定画面(モジュール利用者の入力手段)

method of design

ここまでで、表面的なモジュールのセットアップ方法は理解できたと思います。続けて、[図02]モジュールメイン画面のモジュールコード(php) でモジュールの実際の動きを定義するコードを記載していきます。おおよそコードは次のような流れで記載するとよいでしょう。

肝はインターフェイスを構成する箇所(結果を表示する箇所) ですが、結果を表示する際はmodx テーマに沿ったヘッダ、フッタも一緒に出力します。そうすることで、modx テーマを変更した場合、一緒にモジュールのインターフェイスのデザインも変更されるようになります。

include( "header.inc.php" ); と記載すると modx テーマに沿ったヘッダが、include( "footer.inc.php" ); と記載するとmodx テーマに沿ったフッタが出力されます。

インターフェイス以外の実際の処理内容は、modx データベースの内容を参照したり、独自の処理を記載したりするなどして、コーディングするわけですが、modx データベースの内容、もしくはmodx ドキュメント変数などはmodx API を経由して参照することができます。具体的な参照方法は右メニューの「API 開発」を参考にして下ださい。


モジュール開発の一連の手順を解説しました。内容に関して不明な点があれば、問い合わせフォームより相談ください。

★ この内容を評価してみましょう
★ この内容についてコメントください