本文整理汇总了PHP中Zend_Form_Element::setAttrib方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Form_Element::setAttrib方法的具体用法?PHP Zend_Form_Element::setAttrib怎么用?PHP Zend_Form_Element::setAttrib使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Form_Element
的用法示例。
在下文中一共展示了Zend_Form_Element::setAttrib方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: aElement
/**
* Render element
*
* @param Zend_Form_Element $element
* @return string
*/
public function aElement(Zend_Form_Element $element)
{
$viewClasses = array($element->getAttrib('class'));
if ($element->isRequired()) {
if (!$element->getAttrib('title')) {
$element->setAttrib('title', 'Field is required');
}
$viewClasses[] = 'aForm-field-required';
}
if ($element->getValidators()) {
$viewClasses[] = 'aForm-field-validate';
}
if ($element->hasErrors()) {
$viewClasses[] = 'aForm-field-invalid';
} elseif ($element->getValue() || !$element->isRequired()) {
$viewClasses[] = 'aForm-field-valid';
}
if ($element->getValidators()) {
$viewClasses[] = 'aForm-field-validate';
}
$element->setAttrib('class', implode(' ', $viewClasses));
$options = null;
$separator = null;
if ($element instanceof Zend_Form_Element_Multi) {
$options = $element->getMultiOptions();
$separator = $element->getSeparator();
}
return $this->view->{$element->helper}($element->getName(), $element->getValue(), $element->getAttribs(), $options, $separator);
}
示例2: testRenderUsesElementIdIfSet
public function testRenderUsesElementIdIfSet()
{
$element = new Zend_Form_Element('foo');
$element->setAttrib('id', 'foobar')->setView($this->getView())->setLabel('My Label');
$this->decorator->setElement($element);
$content = 'test content';
$test = $this->decorator->render($content);
$this->assertContains('for="foobar"', $test);
}
示例3: renderFormElement
/**
* Enter description here ...
* @param Zend_Form_Element $element
* @author Tung Ly
*/
public function renderFormElement($element, $vertical = 0)
{
if ($element->getType() != "Zend_Form_Element_Checkbox") {
$element->setAttrib('class', $element->getAttrib('class') . ' form-control');
}
if ($element->isRequired()) {
$element->setLabel($element->getLabel() . ' *');
$element->setAttrib('class', $element->getAttrib('class') . ' required');
}
switch ($element->getType()) {
case 'Zend_Form_Element_Textarea':
$element->setAttrib('rows', 5);
$element->setAttrib('cols', 80);
break;
case 'Zend_Form_Element_Hidden':
return $element;
default:
break;
}
$error = '';
if ($element->hasErrors()) {
$error = 'has-error';
}
if ($element->getType() == 'Zend_Form_Element_Textarea') {
}
$btn = array('Zend_Form_Element_Submit', 'Zend_Form_Element_Reset');
if (in_array($element->getType(), $btn)) {
//$t ='<button type="reset" class="btn"><i class="icon-refresh"></i> '.$element->getLabel().'</button>';
$t = '<div class="span2">' . $element . '</div>';
} else {
$label = trim(preg_replace("/([A-Z])/", " \$1", "{$element->getLabel()}"), ' ');
$variables = array('%%ERROR_CLASS%%' => $error, '%%ELEMENT_NAME%%' => $element->getName(), '%%ELEMENT_LABEL%%' => $label, '%%ELEMENT%%' => $element, '%%HELP_MESSAGE%%' => current($element->getMessages()));
$t = str_replace(array_keys($variables), $variables, $this->_getTemplate($vertical));
}
return $t;
}
示例4: setElementDecorator
/**
* Static function that adds all the elements in 1 wrapping element instead of dt, dd structure
*
* @param $elm
* @return void
*/
public static function setElementDecorator(Zend_Form_Element $elm)
{
$elm->addPrefixPath('Glitch_Form_Decorator', 'Glitch/Form/Decorator/', 'decorator');
$labelSettings = array();
if ($elm->getDecorator('Label')) {
$labelSettings = $elm->getDecorator('Label')->getOptions();
unset($labelSettings['tag']);
//Tag should never be needed when you call this method
}
$class = 'wrapper';
if ($elm->getAttrib('wrapperClass')) {
$class .= ' ' . $elm->getAttrib('wrapperClass');
$elm->setAttrib('wrapperClass', null);
}
if ($elm instanceof Zend_Form_Element_Hidden) {
$class .= ' hidden';
}
$elm->clearDecorators()->addDecorator('Label', $labelSettings)->addDecorator('ViewHelper')->addDecorator('Description', array('escape' => false))->addDecorator('Errors')->addDecorator('Wrapper', array('tag' => 'div', 'id' => $elm->getName() . '-wrapper', 'class' => $class));
if ($elm instanceof Zend_Form_Element_Submit) {
$elm->removeDecorator('Label');
}
}
示例5: cleanElement
/**
* Clean decorators for an element.
*
* @param Zend_Form_Element $element
* @return $this
*/
public function cleanElement(Zend_Form_Element $element)
{
if (!$element instanceof Zend_Form_Element_File && !$element instanceof Zend_Form_Element_Captcha) {
$decorators = $this->defaultNoElementDecorator;
if (!$element instanceof Zend_Form_Element_Hidden) {
$decorators = $this->defaultElementDecorators;
}
if ($element instanceof Zend_Form_Element_Checkbox) {
$element->setAttrib('class', $element->getAttrib('class') . ' field-checkbox');
}
if ($element instanceof Zend_Form_Element_MultiCheckbox) {
$element->setAttrib('class', $element->getAttrib('class') . ' field-checkbox');
}
if ($element instanceof Zend_Form_Element_Radio) {
$element->setAttrib('class', $element->getAttrib('class') . ' field-radio');
}
if ($element instanceof Zend_Form_Element_Text || $element instanceof Zend_Form_Element_Password) {
$element->setAttrib('class', $element->getAttrib('class') . ' field-text');
}
if ($element instanceof Zend_Form_Element_Multiselect) {
$element->setAttrib('class', $element->getAttrib('class') . ' field-multiselect');
} elseif ($element instanceof Zend_Form_Element_Select) {
$element->setAttrib('class', $element->getAttrib('class') . ' field-select');
}
if ($element instanceof Zend_Form_Element_Textarea) {
$element->setAttrib('class', $element->getAttrib('class') . ' field-textarea');
}
if ($element instanceof Zend_Form_Element_File) {
$element->setAttrib('class', $element->getAttrib('class') . ' field-file');
}
$element->setDecorators($decorators);
if ($element instanceof Zend_Form_Element_Button) {
$element->setDecorators(array(array('ViewScript', array('viewScript' => 'centurion/form/_button.phtml'))));
}
}
return $this;
}
示例6: _addClassNameToElement
/**
* Add a specific class name to an element.
*
* @param Zend_Form_Element $element
* @param string $className
* @return void
*/
private function _addClassNameToElement(Zend_Form_Element $element, $className)
{
$existingClassName = $element->getAttrib('class');
$newClassName = strpos($existingClassName, $className) !== false ? $existingClassName : "{$existingClassName} {$className}";
$element->setAttrib('class', $newClassName);
}
示例7: setupSingleElement
/**
* Setup per-element properties like labels, and classes
*/
protected function setupSingleElement(Zend_Form_Element $elm)
{
// determine if this element has an error. (Will be used below)
$elmHasError = count($elm->getMessages()) > 0;
// set element values from the language pack
$elm->setLabel($this->lang->get('form.label.' . $elm->getName()));
// display info about required length if validator exists
if ($elm->getValidator('StringLength')) {
$elm->setDescription(sprintf($this->lang->get('form.description.' . $elm->getName()), $elm->getValidator('StringLength')->getMin(), $elm->getValidator('StringLength')->getMax()));
} else {
$elm->setDescription($this->lang->get('form.description.' . $elm->getName()));
}
// Duplicating type attr to classname in case we need to support IE6
// and want to be able to directly target the element without using
// input[type=text]
$zendType = $elm->getType();
$className = strtolower(substr($zendType, strrpos($zendType, '_') + 1));
$elm->setAttrib('class', $className);
// wrap this stuff up in a html div with class 'element'
$elm->addDecorator('HtmlTag', array('tag' => 'div', 'class' => 'element'));
// determine if element has error and use that to determine prefix char.
// 1. There seems to be no way to add html to the reqPrefix
// 2. There seems to be no way to add a custom classname to the div tag
if ($elm->getName() != 'submit') {
$reqChar = $elmHasError ? '! ' : '* ';
$elm->addDecorator('Label', array('placement' => 'prepend', 'tag' => 'div', 'requiredPrefix' => $reqChar));
}
// use custom error decorator that attempts to replace default error
// messages by the ones supplied by My_LanguagaPack
$errorDecorator = new My_Decorator_Errors();
$errorDecorator->setLanguagePack($this->lang);
$elm->addDecorator($errorDecorator);
// wrap everything so far in a li tag, give it class error if elm has error
// ATT: using array to create alias for allready used HtmlTag decorator
$liClass = $elmHasError ? 'error' : '';
$elm->addDecorator(array('outerLi' => 'HtmlTag'), array('tag' => 'li', 'class' => $liClass));
}
示例8: updateId
/**
* Updates the ID of the given element.
*
* @param Zend_Form_Element $element
*/
protected function updateId(Zend_Form_Element $element)
{
$currentId = $element->getId();
$newId = $currentId . '-' . uniqid();
$element->setAttrib('id', $newId);
}
示例9: setClassToAnElement
/**
* Set an error class into element HtmlTag decorator
*
* @param Zend_Form_Element $element Element to 'decorate' for the error.
* @param string $styleClass CSS class name.
*
* @return void
*/
protected function setClassToAnElement(Zend_Form_Element $element, $styleClass)
{
$htmlTagDecorator = $element->getDecorator('HtmlTag');
if (!empty($htmlTagDecorator)) {
$class = $htmlTagDecorator->getOption('class');
$htmlTagDecorator->setOption('class', $class . ' ' . $styleClass);
}
$element->setAttrib('class', $element->getAttrib('class') . ' ' . $styleClass);
}