2012-03-20 11 views
0

jpgとpng形式で画像をアップロードするZendフォームでフォームを作成しました。ただし、フォームはデフォルトのボタンと "no file selected"というテキストを生成します。自分のデザインしたボタンイメージを配置し、このフォームのデフォルトのテキストを削除するにはどうしたらいいですか?写真フォームの画像をZendフォームに配置する

$photo = new Zend_Form_Element_File('photo'); 
$photo->addValidator('Count', false, 1) 
->addValidator('Size', false, 200*1024) 
->addValidator('Extension', false, 'jpg,png'); 

答えて

1

イメージを使用する場合は、Zend_Form_Element_Buttomを使用する必要があります。

type=submitに必ず入力し、style=""属性を使用して画像を設定することができます。 あなたはこれらの使用に渡すことができます。

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

私はこの構文が正しいことだと思うが、私は間違ってstlye属性を持っていると確信しています。

MDN Button Reference

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 
です
関連する問題