gpt4 book ai didi

zend-framework - 如何在一个 Zend_Form 中连续放置 2 个按钮

转载 作者:行者123 更新时间:2023-12-04 04:26:18 25 4
gpt4 key购买 nike

我认为在您的网络应用程序中拥有表单是一个常见的要求编辑删除他们下面的按钮。但是 ZF 将一个按钮放在另一个按钮下面,这是违反直觉的。我想 ViewScript 装饰器可以帮助我完全覆盖按钮 html。

但是如何跨其他表单来避免重复呢?可能是我太复杂了,我只是应该以某种方式粘贴 html 代码而不是按钮元素对象?

最佳答案

这是我在我自己的表单类中使用的代码,我的所有表单都继承自该类。主要技巧是仅在按钮本身上使用 ViewHelper 装饰器,并将按钮粘贴在使用 DtDdWrapper 的显示组中,并将按钮包装在 <div class='buttons'> 中。额外的样式选项

  protected $_buttons = array();

/**
* Sets a list of buttons - Buttons will be standard submits, or in the getJson() version
* they are removed from display - but stuck in the json in the .buttons property
*
* $buttons = array('save'=>'Save This Thing', 'cancel'=>'Cancel') as an example
*
* @param array $buttons
* @return void
* @author Corey Frang
*/
public function setButtons($buttons)
{
$this->_buttons = $buttons;
foreach ($buttons as $name => $label)
{
$this->addElement('submit', $name, array(
'label'=>$label,
'class'=>$name,
'decorators'=>array('ViewHelper'),
));
}
$this->addDisplayGroup(array_keys($this->_buttons),'buttons', array(
'decorators'=>array(
'FormElements',
array('HtmlTag', array('tag'=>'div', 'class'=>'buttons')),
'DtDdWrapper'
)
));
}

// Example from form::init()
$this->setButtons(array('save'=>'Save Entry', 'delete'=>'Delete Entry'));

关于zend-framework - 如何在一个 Zend_Form 中连续放置 2 个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/701209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com