0
翻譯形式(標籤)有問題。 在互聯網上搜索幾個小時後,我無法找到一個體面的解釋應該如何做。Zend框架2.3翻譯形式
誰能幫我一個忙嗎?
我使用的FormCollection($形式)作爲寫在ZF2.3手動
add.phtml
$form->setAttribute('action', $this->url('album', array('action' => 'add')));
$form->prepare();
echo $this->form()->openTag($form);
echo $this->formCollection($form);
echo $this->form()->closeTag();
AlbumForm.php
namespace Album\Form;
use Zend\Form\Form;
use Zend\I18n\Translator\Translator;
class AlbumForm extends Form
{
public function __construct($name = null)
{
// we want to ignore the name passed
parent::__construct('album');
$this->add(array(
'name' => 'id',
'type' => 'Hidden',
));
$this->add(array(
'name' => 'title',
'type' => 'Text',
'options' => array(
'label' => $this->getTranslator()->translate('Name'), //'Naam',
),
));
$this->add(array(
'name' => 'artist',
'type' => 'Text',
'options' => array(
'label' => 'Code: ',
),
));
$this->add(array(
'name' => 'submit',
'type' => 'Submit',
'attributes' => array(
'value' => 'Go',
'id' => 'submitbutton',
),
));
}
}
錯誤:
Fatal error: Call to undefined method Album\Form\AlbumForm::getTranslator() in /Applications/MAMP/htdocs/demo/module/Album/src/Album/Form/AlbumForm.php on line 24
凡在文檔它表示在Form類上使用getTranslator嗎?在Zend/Form/Form中沒有getTranslator方法,所以如果你還沒有在Album/Form中添加一個getTranslator方法,那麼顯然它不起作用。我很好奇你在文檔中閱讀的內容。這可能意味着getTranslator在別處實現。 – bcmcfc
如果您想在表單中執行此操作,您需要注入翻譯服務。 http://stackoverflow.com/questions/10923378/zf2-equivalent-of-getservicelocator-in-zend-form – cptnk
@bcmcfc:它沒有寫在手冊中。 我一直在尋找信息和解決方案的互聯網和計算器。我發現這個信息在某處嘗試,但沒有成功。 這就是我結束的地方。 –