以zend形式添加img标记

问题描述

| 我正在使用扩展Zend_Form的类来构建表单,如何在表单中添加img标签,还需要添加一个类并对齐属性 这是我要达到的最终结果:
<span class=\"myElement\"><img src=\"myPath\" align=\"middle\" class=\"myClass\"/>
<input type=\"text\"></span>
我对Zend_Form_Element_Image \的文档了解不多 谢谢 路卡     

解决方法

在库/应用程序/表格/元素/Img.php中
class Application_Form_Element_Img extends Zend_Form_Element_Xhtml
{
    public $helper = \'formImg\';

    public function loadDefaultDecorators ()
    {
        parent::loadDefaultDecorators ();
        $this->removeDecorator (\'Label\');
        $this->removeDecorator (\'HtmlTag\');

        $this->addDecorator(\'HtmlTag\',array (
        \'tag\'   => \'span\',\'class\' => \'myElement\',));
    }
}
在application / view / helpers / FormImg.php中
class Zend_View_Helper_FormImg extends Zend_View_Helper_FormElement
{
    public function formImg ($name,$value,$attribs = null)
    {
        $info = $this->_getInfo($name,$attribs);

        $xHtml = \'<img\'
                . $this->_htmlAttribs ($attribs)
                . \' />\';

        return $xHtml;
    }
}
以您的形式:
    $this->addElement (\'img\',\'myimage\',array (
        \'src\'           => \'/images/download.png\',\'align\'         => \'right\',));
注意:在您的特定应用程序中,路径可能会更改。     ,实际上,您不需要自定义元素即可执行此操作。您可以使用HtmlTag装饰器并使用openOnly选项。
$form = new Zend_Form();

$form->addElement(\"text\",\"foo\",array(\"decorators\" => array(
    array(array(\"img\" => \"HtmlTag\"),array(
        \"tag\" => \"img\",\"openOnly\" => true,\"src\" => \"myPath\",\"align\" => \"middle\",\"class\" => \"myClass\"
    )),array(\"ViewHelper\"),array(array(\"span\" => \"HtmlTag\"),array(
        \"tag\" => \"span\",\"class\" => \"myElement\"
    ))
)));

echo $form->foo;
    ,嗨,您可以创建一个名为\“ html \”的自定义元素
class Zend_Form_Element_Html extends Zend_Form_Element_Xhtml
{
    public $helper = \'formHtml\';
}
现在您可以调用它:
$yourForm->addElement(
            \'html\',\'myElementId\',array(
             \'value\'=>\'<span class=\"myElement\"><img src=\"myPath\" align=\"middle\"  class=\"myClass\"/>
<input type=\"text\"></span>\'))
有关更多信息,您可以检查以下链接: Zend Framework:在我的表单中插入DIV和图像