如何解决以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和图像
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。