Перевести заполнитель ZF2

Как перевести placeholder в Zend Framework 2?

У меня есть элемент формы, например:

 $this->add(array(
         'name' => 'Email',
         'attributes' => array(
             'type'  => 'email',
             'class' => 'form-control',
             'placeholder' => 'Email address',
             'required' => 'required'
         ),
     ));

В представлении я называю это:

<?php echo $this->formRow($form->get('Email'));?>

person Walllter    schedule 24.03.2014    source источник


Ответы (2)


Если вы используете ZendSkeletonApplication или подобное, вы можете сделать следующее в своем представлении:

    $translator = $this->plugin('translate')->getTranslator();
    $this->plugin('form_row')->setTranslator($translator);

потом

    echo $this->formRow($form->get('Email'));
person yasselavila    schedule 24.03.2014

Возможно, есть лучший способ, но вы всегда можете отказаться от помощника formRow и вручную отобразить этот ввод. Например.:

<?php $emailField = $form->get('Email'); ?>
<input type="<?php $emailField->getType(); ?>" class="<?php $emailField->getClass(); ?>" placeholder="<?php $this->translate($emailField->getPlaceholder()); ?>" value="<?php $emailField->getValue(); ?>" <?php $emailField->getRequired(); ?> >

Это дает вам больше контроля над тем, как этот ввод отображается, но это также трудоемко и подвержено ошибкам. Также я предполагаю, что у вас есть готовый перевод в ваших файлах .po.

person guessimtoolate    schedule 24.03.2014