以Zend形式放置照片表单按钮的图像

时间:2012-03-20 00:49:30

标签: forms zend-framework upload image

我已经通过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');

2 个答案:

答案 0 :(得分:1)

如果您想使用图片,似乎需要使用Zend_Form_Element_Buttom

请确保传递type=submit,然后您可以使用style=""属性设置图片。 您可以使用以下方式传递这些:

setAttribs(array('type'=>'submit', 'style'=> array('image' => 'image.png')));

我认为这种语法是正确的,但我确信我有不正确的stlye属性。

MDN Button Reference

答案 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