【发布时间】:2010-11-05 14:26:30
【问题描述】:
我真的很坚持这个。我必须创建一个动态的多语言表单,并且这样做:
class TreeForm extends BaseTreeForm
{
public function configure()
{
parent::configure();
[...]
$languages = sfConfig::get('app_language_list');
$supportedlangs = $this->getObject()->getSupLangs();
if (empty($supportedlangs))
{
$supportedlangs = $languages;
}
$this->embedI18n($supportedlangs);
foreach ($supportedlangs as $lang)
{
$this->widgetSchema->setLabel($lang, $i18n->__($lang));
}
var_dump(array_keys($this->getEmbeddedForms()));
}
}
class treeActions extends autoTreeActions
{
public function executeEdit(sfWebRequest $request)
{
$this->tree = $this->getRoute()->getObject();
echo "action::edit->before getform():<br/>\n";
$this->form = $this->configuration->getForm($this->tree);
echo "action::edit->after getform():<br/>\n";
var_dump(array_keys($this->form->getEmbeddedForms()));
}
}
我认为这应该可以解决问题,但输出是这样的:
action::edit->getform() 之前:
数组
0 => 字符串“seuzo_szolg_addresses”(长度=21)
1 => 字符串 'hu' (长度=2)
2 => 字符串'en'(长度=2)
action::edit->getform() 之后:
数组
0 => 字符串“seuzo_szolg_addresses”(长度=21)
是什么让我的 i18n 嵌入式表单在主表单初始化后消失了?非常感谢任何帮助。
【问题讨论】:
-
哦,我忘了说是symfony 1.2.7
标签: php internationalization symfony1