Kohana Framework:添加默认选项
<?php
// My controller.
$marcas = ORM::Factory('marca')->
find_all()->
as_array('nome', 'nome');
array_unshift($marcas, '-- Selecione --');
?>
<?php
// My view.
echo Form::select('marca', $marcas, '-- Selecione --')
?>
有没有更快的方法在选择中添加默认选项? 谢谢。
<?php
// My controller.
$marcas = ORM::Factory('marca')->
find_all()->
as_array('nome', 'nome');
array_unshift($marcas, '-- Selecione --');
?>
<?php
// My view.
echo Form::select('marca', $marcas, '-- Selecione --')
?>
Is there a faster way to add a default option in a select?
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的方式看起来非常快速和优雅,使用现有的框架功能和一些智能数据来利用它。
如果您想要任何不完全支持的自定义行为,您可以使用自己的代码扩展 Form::select() 。我知道 Kohana 强烈建议扩展其核心课程,但我还没有玩过 Kohana3。在 Kohana2 中,您可以如此处所示执行此操作。根据 本教程 对于 Kohana3,您可以类似地执行此操作,但将新文件放在 application/classes 文件夹中。
疯狂猜测这是如何工作的:在 application/classes 中创建 form.php 并输入:
Your way looks pretty fast and elegant, using the existing framework functionality with some smart data to take advantage of it.
You could probably extend Form::select() with your own code if you want to have any customized behaviour not outright supported. I know Kohana strongly suggests extending its core classes, that but I haven't played with Kohana3 yet. In Kohana2 you'd do it as seen here. According to this tutorial for Kohana3 you'd do it similarly, but placing your new file in the application/classes folder.
A wild stab at guessing how this would work: create form.php in application/classes and enter:
但如果您使用数据库值的数组键(例如作为查找字段),请务必小心。 Array_unshift 将对元素重新编号,因此您可能更喜欢
Arr::unshift($marcas, '', '--Selecione--');
。另一个优点是返回数组,因此您可以使用在函数调用参数中而不是作为单独的行请参阅 Arr::unshift()
Be careful though if you're using the array key for the database value eg as a lookup field. Array_unshift will renumber your elements so you may prefer
Arr::unshift($marcas, '', '--Selecione--');
.The other advantage is that returns the array, so you can use within the function call params rather than as a separate lineRefer Arr::unshift()