我已经通过Zend表单创建了一个表单,以jpg和png格式上传图片。但是,表单会生成一个默认按钮和文本,内容为“未选择文件”。如何放置我自己设计的按钮图像并删除此表单的默认文本?
$photo = new Zend_Form_Element_File('photo');
$photo->addValidator('Count', false, 1)
->addValidator('Size', false, 200*1024)
->addValidator('Extension', false, 'jpg,png');
答案 0 :(得分:1)
如果您想使用图片,似乎需要使用Zend_Form_Element_Buttom
。
请确保传递type=submit
,然后您可以使用style=""
属性设置图片。
您可以使用以下方式传递这些:
setAttribs(array('type'=>'submit', 'style'=> array('image' => 'image.png')));
我认为这种语法是正确的,但我确信我有不正确的stlye属性。
答案 1 :(得分:1)
$photo->setDecorators(array(
array('ViewScript', array('viewScript' => 'my_upload_button.phtml', 'abc' => $some_parameter)
);
然后在里面
my_upload_button.phtml做你自己的风格,这是我的
<?php
$image = $this->element->getAttrib('class');//prendi il nome del file
$this->element->setAttrib('class', '');//cancella la class
?>
<td class="nome_campo">
<label for="<?php echo $this->element->getName(); ?>"><?php echo $this->element->getLabel(); ?></label></td>
<td class="valore_campo" colspan="1">
<?php echo $this->content; ?>
<?php if ($this->element->hasErrors()): ?>
<span class="error">
<?php echo $this->formErrors($this->element->getMessages()); ?>
</span>
<?php endif; ?>
<p class="hint"><?php echo $this->element->getDescription() ?></p>
<b>
<?php