首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ZendX Jquery装饰器

ZendX Jquery装饰器
EN

Stack Overflow用户
提问于 2010-10-13 10:19:48
回答 1查看 1.9K关注 0票数 1

如何在Jquery元素中使用局部装饰器

我将此代码用于表单元素:

代码语言:javascript
复制
    $title = new Zend_Form_Element_Text('title');
    $title->setRequired(true)
            ->setAttrib('class', 'inputbox')
            ->setLabel('Title');
    $title->viewScript = 'RegElement.phtml';
    $title->setDecorators(
            array(
                array('ViewScript', array('class' => 'RegElement'))
            )
    );

但是当我使用Jquery元素时,我不知道如何实现它:

代码语言:javascript
复制
    $datePicker = new ZendX_JQuery_Form_Element_DatePicker(
                    "datePicker1", array("label" => "Date:")
    );
    $datePicker->viewScript = 'RegElement.phtml';
    $datePicker->setDecorators(
            array(
                array('ViewScript', array('class' => 'RegElement'))
            )
    );

    //views/scripts/RegElement.phtml
    <li class="row <?php echo $this->class ?>">
        <div class="cont-error">
         <?php echo $this->formErrors($this->element->getMessages()); ?>
        </div>
        <div class="rowfields">
           <?php echo $this->formLabel($this->element->getName(),
                      $this->element->getLabel()) ?>
        <?php
            echo $this->{$this->element->helper}(
                 $this->element->getName(),
                 $this->element->getValue(),
                 $this->element->getAttribs()
             )
         ?>
        </div>
        <div class="hint"><?php echo $this->element->getDescription() ?></div>
    </li>

并显示此错误:

代码语言:javascript
复制
Warning: Exception caught by form: Cannot render jQuery form element without at least one decorator implementing the 'ZendX_JQuery_Form_Decorator_UiWidgetElementMarker' interface.

我需要显示相同格式的datePicker。但是我不知道如何实现这个接口。谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-07 15:24:13

这是因为当与ZendX_jQuery一起使用时,常规的ViewHelper装饰器不会生成一些正确的代码。您必须使用一个实现ZendX_JQuery_Form_Decorator_UiWidgetElementMarker的装饰器,并且提供了一个装饰器。UiWidgetElement

代码语言:javascript
复制
  $datePicker->setDecorators(
            array(
                'UiWidgetElement',
                array('ViewScript', array('class' => 'RegElement'))
            )
    );
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3920367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档