Поместите изображение для кнопки формы фото в форме Zend - PullRequest
0 голосов
/ 20 марта 2012

Я создал форму 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 ]

1 голос
/ 20 марта 2012
$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
1 голос
/ 20 марта 2012

Похоже, вам нужно использовать Zend_Form_Element_Buttom, если вы хотите использовать изображение.

Просто убедитесь, что вы ввели type=submit, и вы можете использовать атрибут style="" для установки изображения. Вы можете передать их, используя:

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

Я думаю, что этот синтаксис правильный, но я уверен, что у меня неправильные атрибуты стиля.

Справочник по кнопкам MDN

...