覆盖所有 Zend_Form 对象的特定装饰器

发布于 2024-10-17 21:07:00 字数 133 浏览 2 评论 0原文

我正在设计一个项目的样式,每个人都使用 Zend_Form 和默认元素。这使得无法设置提交按钮的样式。 因此,我想覆盖提交按钮的默认 Zend_Form 装饰器,但不更改创建 Zend_Form 的每一行。

这可能吗? 如果是,怎么办?

i am working on styling a project and everybody used Zend_Form and default Elements. This makes it impossible to style submit buttons.
Therefore i would like to overwrite the default Zend_Form Decorator for submit buttons, but without changing every line where a Zend_Form is created.

Is that possible?
If yes, how?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

假情假意假温柔 2024-10-24 21:07:00

您可能想要子类化Zend_Form_Element_Submit并使用loadDefaultDecorators()为您的提交设置默认装饰器

class My_Form_Element_Submit extends Zend_Form_Element_Submit
{
    public function loadDefaultDecorators()
    {
        // set your default decorators for the submit element       
        $decorators = $this->getDecorators();
        if (empty($decorators)) {
            $this->setDecorators(array(
                'ViewHelper',
                array(
                    array('field' => 'HtmlTag'),
                    array(
                        'tag'   => 'span',
                        'class' => 'some-wrapper-class'
                    ) 
                )
            ));
        }
    }
}

:装饰器会导致 HTML 代码看起来像这样,允许您轻松设置提交按钮的样式:

<span class="some-wrapper-class"> 
    <input type="submit" name="save" id="save" value="Save">
</span> 

You probably want to subclass Zend_Form_Element_Submit and use loadDefaultDecorators() to set the default decorators for your submits:

class My_Form_Element_Submit extends Zend_Form_Element_Submit
{
    public function loadDefaultDecorators()
    {
        // set your default decorators for the submit element       
        $decorators = $this->getDecorators();
        if (empty($decorators)) {
            $this->setDecorators(array(
                'ViewHelper',
                array(
                    array('field' => 'HtmlTag'),
                    array(
                        'tag'   => 'span',
                        'class' => 'some-wrapper-class'
                    ) 
                )
            ));
        }
    }
}

The above decorators would result in HTML code looking something like this, allowing you to easily style your submit button:

<span class="some-wrapper-class"> 
    <input type="submit" name="save" id="save" value="Save">
</span> 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文