PhalconPHPでフォーム部品に属性を追加する方法
PhalconではvalidationをセットするようにHTML属性をセットする
Phalconではフォームクラスを利用してフォームのひな形を定義する。
そして、定義したひな形をコントローラで生成した後、Viewで展開する。各フォーム部品にclass属性を追加する場合は、フォームクラスで
setAttribute
メソッドを利用することで追加することが可能。具体的には以下のように設定する。
class UsersForm extends Form { public function initialize($entity = null, $options = null) { $name = new Text('name'); $name->setAttribute('class', 'form-control'); $this->add($name); } }
上のコードのより出力されるHTMLが下のコードになる。
<input type="text" class="form-control" name="title" id="title">
複数のHTML属性をまとめて設定することも可能で、その場合には
setAttributes
メソッドを利用することができる。
$attributes = array( 'id' => '11', 'class' => 'form-control', 'placeholder' => 'enter name' ); $name = new Text('name'); $name->setAttributes($attributes); $this->add($name);
$attributesに配列で属性を定義しておいてsetAttributesの引数に渡せば属性が追加される。出力されるHTMLは以下のようになる。
<input type="text" placeholder="enter text" class="form-control" name="title" id="11">
フォーム部品がtextの場合のメソッド一覧はPhalconの公式ドキュメントで確認することができる。
http://docs.phalconphp.com/en/latest/api/Phalcon_Forms_Element_Text.html