Kohana Framework:添加默认选项

发布于 2024-09-19 11:37:52 字数 294 浏览 9 评论 0原文

<?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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

昵称有卵用 2024-09-26 11:37:52

您的方式看起来非常快速和优雅,使用现有的框架功能和一些智能数据来利用它。

如果您想要任何不完全支持的自定义行为,您可以使用自己的代码扩展 Form::select() 。我知道 Kohana 强烈建议扩展其核心课程,但我还没有玩过 Kohana3。在 Kohana2 中,您可以如此处所示执行此操作。根据 本教程 对于 Kohana3,您可以类似地执行此操作,但将新文件放在 application/classes 文件夹中。

疯狂猜测这是如何工作的:在 application/classes 中创建 form.php 并输入:

class Form extends Form_Core {

    public static function select() {
        /**
         * Add the code from http://dev.kohanaframework.org/projects/kohana3-core/repository/revisions/master/entry/classes/kohana/form.php#L252
         * and change it slightly to also include a default value when writing out
         * the form, or even better via another optional function parameter
         */
    }
}

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:

class Form extends Form_Core {

    public static function select() {
        /**
         * Add the code from http://dev.kohanaframework.org/projects/kohana3-core/repository/revisions/master/entry/classes/kohana/form.php#L252
         * and change it slightly to also include a default value when writing out
         * the form, or even better via another optional function parameter
         */
    }
}
裂开嘴轻声笑有多痛 2024-09-26 11:37:52

但如果您使用数据库值的数组键(例如作为查找字段),请务必小心。 Array_unshift 将对元素重新编号,因此您可能更喜欢 Arr::unshift($marcas, '', '--Selecione--');。另一个优点是返回数组,因此您可以使用在函数调用参数中而不是作为单独的行

请参阅 Arr::unshift()

<?php echo Form::select('marcas', Arr::unshift($marcas, '', '--Selecione--') , false);?>

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 line

Refer Arr::unshift()

<?php echo Form::select('marcas', Arr::unshift($marcas, '', '--Selecione--') , false);?>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文