草庐IT

php - ZF2 表格 : Customizing order of elements

coder 2024-04-13 原文

我正在为登录用户创建一个表单来更改他们的密码,因此我创建了一个可用的现有密码重置表单的子类。除了现有密码的附加字段外,表格将是相同的。到目前为止它一直有效,除了我想不出一种方法来手动设置新字段的顺序;我让它出现的唯一地方是在表格的末尾。似乎 ZF2 要求您按照您希望它们呈现的顺序 add() 形成元素。我会这样做,除了子类表单的构造函数必须先有父表单的构造函数才能添加新字段,此时父表单已经添加了它的字段。

我已经尝试设置我的新字段的属性 order,但是没有用;我尝试了几种不同的组合(经过大量搜索后,我无法在任何地方找到此功能的文档)。

子类构造函数片段:

class ChangePassword extends ResetPassword implements InputFilterProviderInterface {

public function __construct() {
    parent::__construct();

    $this->add(array(
        'type' => 'Zend\Form\Element\Password',
        'name' => 'existingPassword',
        'order' => 0,
        'options' => array(
            'label' => 'Existing Password',
            'order' => 0,
        ),
        'attributes' => array(
            'required' => 'required',
            'order' => 0,
        )
    ));
}

父构造函数片段:

class ResetPassword extends Form implements InputFilterProviderInterface {

    public function __construct() {
        parent::__construct('reset-password');

        $this->add(array(
            'type' => 'Zend\Form\Element\Password',
            'name' => 'password',
            ...

最佳答案

您要查找的影响元素顺序的键称为优先级。

表单 add() 方法接受包含 $flags 的第二个数组,您必须在这个数组中添加 priority 键/值对。

你的构造函数最终应该看起来像这样......

class ChangePassword extends ResetPassword implements InputFilterProviderInterface {

    public function __construct() {
        parent::__construct();

        $this->add(array(
            'type' => 'Zend\Form\Element\Password',
            'name' => 'existingPassword',
            'options' => array(
                'label' => 'Existing Password',
            ),
            'attributes' => array(
                'required' => 'required',
            )
        ), // add flags array containing priority key/value 
        array(
            'priority' => 1000, // Increase value to move to top of form
        ));
    }
}

关于php - ZF2 表格 : Customizing order of elements,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25811923/

有关php - ZF2 表格 : Customizing order of elements的更多相关文章

  1. ruby-on-rails - Prawn - 表格单元格内的链接 - 2

    我正在尝试用Prawn生成PDF。在我的PDF模板中,我有带单元格的表格。在其中一个单元格中,我有一个电子邮件地址:cell_email=pdf.make_cell(:content=>booking.user_email,:border_width=>0)我想让电子邮件链接到“mailto”链接。我知道我可以这样链接:pdf.formatted_text([{:text=>booking.user_email,:link=>"mailto:#{booking.user_email}"}])但是将这两行组合起来(将格式化文本作为内容)不起作用:cell_email=pdf.make_c

  2. ruby - 如何使用 Ruby 将 CSV 文件读入 HTML 表格? - 2

    我正在尝试将一个简单的CSV文件读入HTML表格以在浏览器中显示,但我遇到了麻烦。这就是我正在尝试的:Controller:defshow@csv=CSV.open("file.csv",:headers=>true)end查看:输出:NameStartDateEndDateQuantityPostalCode基本上我只获取标题,而不会读取和呈现CSV正文。 最佳答案 这最终成为最终解决方案:Controller:defshow#OpenaCSVfile,andthenreaditintoaCSV::Tableobjectforda

  3. ruby - 如何使用 Nokogiri 解析纯 HTML 表格? - 2

    我想用Nokogiri解析HTML页面。页面的一部分有一个表,它没有使用任何特定的ID。是否可以提取如下内容:Today,3,455,34Today,1,1300,3664Today,10,100000,3444,Yesterday,3454,5656,3Yesterday,3545,1000,10Yesterday,3411,36223,15来自这个HTML:TodayYesterdayQntySizeLengthLengthSizeQnty345534345456563113003664354510001010100000344434113622315

  4. ruby-on-rails - prawnto 显示新页面时不会中断的表格 - 2

    我有可变数量的表格和可变数量的行,我想让它们一个接一个地显示,但如果表格不适合当前页面,请将其放在下一页,然后继续。我已将表格放入事务中,以便我可以回滚然后打印它(如果高度适合当前页面),但我如何获得表格高度?我现在有这段代码pdf.transactiondopdf.table@data,:font_size=>12,:border_style=>:grid,:horizontal_padding=>10,:vertical_padding=>3,:border_width=>2,:position=>:left,:row_colors=>["FFFFFF","DDDDDD"]pdf.

  5. ruby - 如何以表格格式快速打印 Ruby 哈希值? - 2

    有没有办法快速将表格格式的ruby​​哈希打印到文件中?如:keyAkeyBkeyC...1232343451253474456...其中散列的值是不同大小的数组。还是使用双循环是唯一的方法?谢谢 最佳答案 试试我写的这个gem(在表中打印散列、ruby对象、ActiveRecord对象):http://github.com/arches/table_print 关于ruby-如何以表格格式快速打印Ruby哈希值?,我们在StackOverflow上找到一个类似的问题:

  6. ruby-on-rails - 这个 C 和 PHP 程序员如何学习 Ruby 和 Rails? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我来自C、php和bash背景,很容易学习,因为它们都有相同的C结构,我可以将其与我已经知道的联系起来。然后2年前我学了Python并且学得很好,Python对我来说比Ruby更容易学。然后从去年开始,我一直在尝试学习Ruby,然后是Rails,我承认,直到现在我还是学不会,讽刺的是那些打着简单易学的烙印,但是对于我这样一个老练的程序员来说,我只是无法将它

  7. ruby-on-rails - 为什么我不能在 Rails 的表格中创建一个数组作为列? - 2

    为什么我不能这样做:classCreateModels是否有其他方法可以使数组(“apples”)成为Fruit类实例的属性? 最佳答案 在Rails4中并使用PostgreSQL,您实际上可以在数据库中使用数组类型:迁移:classCreateSomething 关于ruby-on-rails-为什么我不能在Rails的表格中创建一个数组作为列?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/qu

  8. ruby-on-rails - Rails - 如何选择表格中的最后一个日期? - 2

    如何在列名为Lars的表中选择最后一个日期。我试过这个::dato,AND:name=>:name",:date=>Date.last,:name=>"Lars")%>我试过这个:输出:[#]我只需要一个日期时间格式,例如:2011-02-1523:53:28我该怎么做? 最佳答案 您必须按日期排序并选择一条记录:您也可以通过限制为单个记录来实现此目的:Reklamer.where(name:'Lars').order('datoDESC').limit(1)如果您只想要最后一个条目的最后日期,您可以这样做:Reklamer.whe

  9. ruby-on-rails - 在 Ruby on Rails 中访问 Google Drive 电子表格 - 2

    我正在尝试获取GoogleDrive电子表格的内容,但我似乎找不到可以轻松完成此操作的gem。我试过google-drive-ruby,但它涉及一个步骤,我必须从Google的网站获取授权token。这不是很有帮助,因为我必须在服务器端完成所有这些工作。显然在以前版本的gem中有一个登录方法,但被删除了。有什么办法吗?我必须使用OAuth吗?获取token并将该token传递到google-drive-ruby? 最佳答案 我设法在Reddit上得到了答案。您需要一个服务帐户并与您的服务应用程序的电子邮件共享文档。p12key也必须

  10. ruby 电子表格行背景色 - 2

    我正在尝试使用“电子表格”解析Excel电子表格。如何获取每一行的背景颜色? 最佳答案 book=Spreadsheet::Workbook.newsheet=book.create_worksheet:name=>'Name'format=Spreadsheet::Format.new:color=>:blue,:pattern_fg_color=>:yellow,:pattern=>1sheet.row(0).set_format(0,format)#forfirstcellinfirstrow或sheet.row(0).def

随机推荐