BoostCake Form input でdiv が消えない場合
BoostCake の $this->Form->inputでdiv が消えない場合について
BoostCakeのFormHelperの処理箇所
protected function _divOptions($options) {$this->_inputType = $options['type'];
$divOptions = array(
'type' => $options['type'],
'div' => $this->_inputOptions['wrapInput']
);
$this->_divOptions = parent::_divOptions($divOptions);
$default = array('div' => array('class' => null));
$options = Hash::merge($default, $options);
$divOptions = parent::_divOptions($options);
if ($this->tagIsInvalid() !== false) {
$divOptions = $this->addClass($divOptions, $this->_inputOptions['errorClass']);
}
return $divOptions;
}
何故かdivが消えないという問題が起きたので、ちょっと見てみた。
inputのoptionで array( 'div' => false )としても、inputOptions['wrapInput']が
array('tag' => 'div' )となってしまうようで、'div'=>falseにはならない。
なぜこのようなことになってしまうかは不明。
調べるのはめんどい。
どうしても消えない場合の回避策
$this->Form->input ( 'hoge', array ( 'div' => false, 'wrapInput' => false) );wrapInputごと消してしまう。
wrapInputを使っている場合は…。
コメント
コメントを投稿