Php 在zend表单中添加img标记
我正在使用扩展Zend_表单的类构建表单。如何在表单中添加img标记?我还需要向表单中添加一个类并对齐属性 这是我想要达到的最终结果:Php 在zend表单中添加img标记,php,zend-framework,forms,image,Php,Zend Framework,Forms,Image,我正在使用扩展Zend_表单的类构建表单。如何在表单中添加img标记?我还需要向表单中添加一个类并对齐属性 这是我想要达到的最终结果: <span class="myElement"><img src="myPath" align="middle" class="myClass"/> <input type="text"></span> 我没有找到太多关于Zend_Form_Element_Image的文档 谢谢 Luca在library/A
<span class="myElement"><img src="myPath" align="middle" class="myClass"/>
<input type="text"></span>
我没有找到太多关于Zend_Form_Element_Image的文档
谢谢
Luca在library/Application/Form/Element/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, $value, $attribs);
$xHtml = '<img'
. $this->_htmlAttribs ($attribs)
. ' />';
return $xHtml;
}
}
注意:路径在您的特定应用程序中可能会发生更改。您好,您可以创建一个名为“html”的自定义元素 现在你可以称之为:
class Zend_Form_Element_Html extends Zend_Form_Element_Xhtml
{
public $helper = 'formHtml';
}
$yourForm->addElement(
“html”,
“myElementId”,
排列(
'值'=>'
'))
有关更多信息,请查看此链接:实际上,您不需要自定义元素来实现这一点。您可以使用HtmlTag装饰器并使用openOnly选项
$yourForm->addElement(
'html',
'myElementId',
array(
'value'=>'<span class="myElement"><img src="myPath" align="middle" class="myClass"/>
<input type="text"></span>'))
这里是doc Zend\u Form\u元素\u Image创建的input type=“Image”表单元素。所以你想上传图像,或者你想在你的表单中添加一个图像标签(例如,用于装饰)?我需要img标签。。实际上不是输入原则上这是个好主意,但是你永远不应该以库的名字命名你自己的代码。以防有重叠。不过,我喜欢这种方法,既好又简单。在我看来,这比公认的答案要好。虽然(我认为)使用'placement'=>prepend'比使用'openOnly'=>true更好
$yourForm->addElement(
'html',
'myElementId',
array(
'value'=>'<span class="myElement"><img src="myPath" align="middle" class="myClass"/>
<input type="text"></span>'))
$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;