CONTROLLERからのビューでフォームのフィールドのクラスを変更したい。
example.ctpにいくつかのフィールドがあります
echo $form->input(foo',array('label'=>'foo:'));
この「foo」のクラスをexampleController.phpから変更したいと思います。
どうやってやるの ?
これにより、MVC 構造が壊れます。すべてのプレゼンテーション ロジックがビューに入る必要があるためです。
ただし、これを行うことができます:
// controller
$this->set('foo', 'some_class');
// view
$this->Form->input('foo', array('class' => $foo));
まず、コントローラーからクラスを設定する必要があります
コントローラ
$this->set('class_name', 'is_td');
意見
echo $this->Form->input('foo.name', array('div' => $class_name));
これにより生成されます
<div class="is_td">
<label for="FooName">Name</label>
<input name="data[foo][name]" type="text" value="" id="UserName" />
</div>