1
這是我用來嘗試和使用CakePHP Form Helper的過程。這些例子是我自己和我發現的並且絕對不起作用的組合。每個例子都運行相同的數據,這是設置,應該產生一個複選框,但使用表單助手它肯定是像我所期望的。未使用Form Helper檢查CakePHP複選框
這個作品
這個工作,但我想用CakePHP的形式幫助
<input type="checkbox" name="value" <?php if(($this->data[ $alias ])){echo "checked";}?>>
但是,這並不工作
<?php
echo $this->Form->checkbox('value', [
'checked' => ($this->data[ $alias ]) ? true : false
]);
?>
不起作用
顯然這對一些人有用,因爲我發現這是許多人的解決方案,但它絕對不會使複選框被選中。
<?php
$checked = if($this->data['alias']) ? true : false;
echo $this->Form->checkbox('value', ['checked' => $checked]);
?>
不工作
無論出於何種原因,這工作,但也不是那麼我做下面的示例退而求其次非常有用的。
<?php
echo $this->Form->checkbox('value', ['checked']);
?>
但是這樣不起作用???
雖然上面的例子中不工作,這並不...
<?php
$options = [];
if($this->data[ $alias ]) {
array_push($options, 'checked');
// $options = ['checked']; // this didn't work either
}
echo $this->Form->checkbox('value', $options);
?>
你應該從控制器傳承中的數據,並有在控制器設置默認的數據和/或向下傳遞請求數據。 你的看法應該只包含$ this-> Form->複選框('fieldname')。無需其他任何東西,請參閱[this](http://www.dereuromark.de/2010/06/23/working-with-forms/)。 – mark