PHP 自定义Zend_Form:更改了装饰器和添加的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 自定义Zend_Form:更改了装饰器和添加的方法相关的知识,希望对你有一定的参考价值。

class Application_Form_Abstract extends Zend_Form {
	function loadDefaultDecorators() {
		if ($this->loadDefaultDecoratorsIsDisabled()) {
            return $this;
        }
		
		// for elements
		$decorators = $this->_elementDecorators;
		if (empty($decorators)) {
			$this->setElementDecorators(array(
				'ViewHelper',
				'Errors',
				array('Description', array('tag' => 'p')),
				'Label',
				array('HtmlTag', array('tag' => 'p'))
			));
			$this->getElement('submit')->removeDecorator('Label');
		}

		// for form
        $decorators = $this->getDecorators();
        if (empty($decorators)) {
            $this->addDecorator('FormElements')
				 ->addDecorator('Description', array('placement' => 'PREPEND', 'tag' => 'p'))
                 ->addDecorator('Form');
        }
        return $this;
	}
	function setValue($element, $value) {
		$this->getElement($element)->setValue($value);
	}
	function setValues($values) {
		foreach ($this->getElements() as $elem) {
			if (!$elem->getIgnore() && array_key_exists($elem->getName(), $values)) {
				$elem->setValue($values[$elem->getName()]);
			}
		}
	}
}

以上是关于PHP 自定义Zend_Form:更改了装饰器和添加的方法的主要内容,如果未能解决你的问题,请参考以下文章

对 Zend_Form 中的特定子表单使用自定义 isValid() 函数

如何使用装饰器将多个 div 或字段集添加到 zend_form?

模块调用,datetime,time,logging,递归,双层装饰器, json,pickle迭代器和生成器

day4-装饰器和模块导入

Threejs中用于无线光线追踪的自定义渲染器和灯光?

Django:(05)类视图,装饰器和中间件