我在单独的表格中有下拉和下拉选项。这很好,但现在我希望能够使用下拉代码检索所有选项。在这个页面上,我有所有的下拉菜单和项目。假设下拉代码是dropdown1
.
我希望能够做到
$this->Form->input('dropdownitem_id', array('options' => $dropdown['dropdown1']));
有没有办法在没有助手的情况下做到这一点?
1)你为什么要“没有助手”做这件事?
2) 是的,使用普通的 PHP 东西 - 即,将 HTML 内容回显到页面的 foreach() 循环
只需查看帮助程序生成的内容,并使用 PHP 来模仿它。
<select name="whatever">
<?php
foreach($items as $item) {
echo '<option value=" . $item['id'] . '">' . $item['name'] . '</option>';
}
?>
</select>
(类似的东西 - 我很快就写下了,但你应该明白)
在控制器中,
$dropdownitems = $this->OtherModel->find('list');
$this->set(compact('dropdownitems'));
在你看来
$this->Form->input('dropdownitem_id');
选择的选项将自动填充。
但我不明白,你所说的 helper 是什么意思?
您应该使用可包含的行为。
http://book.cakephp.org/2.0/en/core-libraries/behaviors/containable.html
然后您将查询顶级元素。
在你这样做之后。
你必须像 Dave 所说的那样运行一个 foreach 循环并格式化选项。
如果您需要有关可收容物品的帮助,请告诉我,它们是救生员和您的朋友!
我创建了一个自定义助手来获得我想要的确切行为。