Tech Racho エンジニアの「?」を「!」に。
  • 開発

ActionFormで選択肢のリストをini/functionから取得する方法

EthnaではデフォルトでActionFormで個々のフォームの選択肢のリストをoptionで配列指定できる機能があります。

例えば、hoge, moge, fugaの3つの選択肢があるセレクトボックスを作るときは、ActionFormで以下のように使います。

'name' => array(

'type' => VAR_TYPE_INT,

'form_type' => FORM_TYPE_SELECT,

'option' => array(0 => 'hoge', 1 => 'moge', 2 => 'fuga'),

),

ただ、別画面で同じ選択肢のリストを毎回optionで指定するのは割と大変です。

なので、この選択肢のリストを設定ファイル(appid-ini.php)や関数で一度定義して、流用しようという作戦です。

応用すると、関数で定義する場合はDBからの取得も可能になります。

では、早速改造のやり方を説明します。大まかな手順としては以下のとおりとなります。

  1. AppID_ActionForm::setOptionを作成する
  2. AppID_ActionForm::_setFormDefをオーバーライドして、上記setOptionを呼ぶ

方法は他にもあると思いますが、比較的使いやすく便利なので、お勧めです。


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。