Joomler!.net - Decided on Joomla!

Wiki or Wordpress? No it is JContentPlus.

 

Archives

Blog

Demo

Home » Blog » エクステンションのパラメータでサポートされているタイプ : Joomla!1.5
Sep
4
2008

エクステンションのパラメータでサポートされているタイプ : Joomla!1.5

EMailPrintPDF
1 votes
Written by:Joomler! 9038 hits

joomla15_custom_parameters 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ではさらに拡張されているようです。私もすべてを使ってみたわけではありませんのであらためて便利さを感じました。

これだけ用意されているのでかなりコーディングも楽になりますね。

 

ADD A COMMENT

Subject*
:
Color Swatch




Email Link Page Code Text Align Center Text Align Justify Text Align Left Text Align Right Text Bold Text Quote Text Italic Text List Bullets Text List Numbers Text Strikethrough Text Underline World Link
Sun Unhappy Smile Evilgrin Wink Tongue Lightning Surprised Grin Rain Clouds Cloudy Snow Waii
Name*
:
EMail*
:
Please answer....
Submit Preview

JContentPlus for Joomla!1.5 powered by Joomler!.net

Related Items

joomler.net is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla!(R) name is used under a limited license from Open Source Matters in the United States and other countries.
joomler.net is not affiliated with or endorsed by Open Source Matters or the Joomla! Project.