9月
04
2008
エクステンションのパラメータでサポートされているタイプ : Joomla!1.5
Joomla!でエクステンションを作成するとき、必ず必要なのが、エクステンション名.xmlです。
この中でエクステンションの設定値などをタイプやデフォルト値で指定する「params」というものがあります。
さて、今回質問があったのであらためて見てみました。
<param name="名前" type="タイプ" default="初期値" label="ラベル(表示名)" description="説明" />
上記のようにパラメータを指定しますが、どのように使うのか。
- 名前(name)について
これは、$params->get('ここ');で取得する名前を指定します。 - タイプ属性 ( type )について
これにはいくつかデフォルトで指定できるものが用意されています。 - calendar
これは、カレンダーを表示させ、日付を指定させることができます。この時の日付フォーマットは、属性で format="%Y-%m-%d" などとparam内に書けばフォーマットを指定でいます。
例:
<param name="mydate" type="calendar" label="Select Date" format="%Y-%m-%d" default="" description="" /> - category
これは、カテゴリーのリストを表示してくれます。また、scope属性でsectionの範囲を指定することもできます。
例:
<param name="catid" type="category" label="Select Cat" scope="content" default="" description="" /> - editors
これは、エディタを選択するリストを表示します。
例:
<param name="editor" type="editors" label="Select Editor" default="" description="" /> - filelist
これはファイルリストを表示します。4つの属性値を指定できます。 - directory
- fitler
- exclude
- stripext
- folderlist
これはフォルダのリストを表示します。3つの属性値を指定できます。 - directory
- filter
- exclude
- helpsites
これは、ヘルプサイトのリストを表示します。デフォルトでは、http://help.joomla.orgのみとなっています。 - hidden
これは、hiddenフォームを作成してくれます。ユーザーの入力はできません。
ちなみにJBackupで使っています。 - imagelist
イメージリストを表示します。指定できる属性は、filterのみで以下のように指定します。
filter='\.jpg$|\.gif$'
と指定すれば、jpgとgifのみのリストとなります。 - languages
言語のリストを表示します。属性はclientです。指定できる値は、JPATH_以下の文字です。 - list
これは、一般的によく使われているので説明しません。 - menu
メニューのリストを表示してくれます。 - menuitem
メニューアイテムを表示してくれます。 - password
type属性がpasswordのフォームを表示してくます。 - radio
これは、一般的によく使われているので説明しません。 - section
セクションのリストを表示してくれます。属性はありません。また、マルチセレクトにはなりません。
例:
<param name="sectionid" type="section" label="Select Section" default="" description="" /> - spacer
これは、一般的によく使われているので説明しません。
Tips:default属性に値を入れるとそれがボーダーの代わりに表示されます。 - sql
これは、自由にカスタマイズできるリストを作成してくれます。query属性にSQLクエリを入力すれば、その結果をリスト化してくれます。 - text
これは、一般的によく使われているので説明しません。 - textarea
これは、一般的によく使われているので説明しません。 - timezones
タイムゾーンのリストを表示してくれます。 - usergroup
ユーザーグループのリストを表示してくれます。 - もっとカスタマイズしたフォームを作成したい場合
Joomla!1.5では<paramsタグ内に次のように属性を追加することでオリジナルのelementファイルを呼び出させてオリジナルのフォームを表示させることができます。
<params addpath="/components/com_jcontentplus/elements">
このように指定することで指定されたパス内のtype属性で指定した名前のファイルをロードしてくれます。そして以下のようなクラス名を呼び出してくれます。
例:type="myform"なら
class JElementMyform extends JElement{ここに対応するメソッドを書く}
このようにすることによってほとんど制限なくカスタマイズされたフォームを自由に作成することが可能です。
※JContentPlusでは多用していますので参照してみて下さい。 - default値について
これは、そのフォームの初期値です。はじめて表示した場合や、何も入力していない場合などにこの値が選択または、入力された状態で表示されます。 - description値について
マウスをフォームのタイトル部分にあてた時、表示されるTipに出力される説明です。
以上簡単に書いてみました。このように属性に指定することによって自動でフォームを作成してくれる機能がJoomla!1.0.xにももちろんありましたが、Joomla!1.5ではさらに拡張されているようです。私もすべてを使ってみたわけではありませんのであらためて便利さを感じました。
これだけ用意されているのでかなりコーディングも楽になりますね。































