Symfony1 sfWidgetFormDoctrineChoice:如何迭代嵌套模型中的数据?(Symfony 1.4)
我有来自其他模型的带有嵌套字段的ConnectForm:Number。 我想用所有数字呈现这个ConnectForm,当我Symfony1 sfWidgetFormDoctrineChoice:如何迭代嵌套模型中的数据?(Symfony 1.4),symfony1,symfony-forms,symfony-1.4,Symfony1,Symfony Forms,Symfony 1.4,我有来自其他模型的带有嵌套字段的ConnectForm:Number。 我想用所有数字呈现这个ConnectForm,当我 <?php echo $form['numbers_list'] ?> 但我需要打印其他数字字段,如:价格、代码等。 如何打印 对我来说最好的方法是这样: <?php foreach($form['numbers_list'] as $num): ?> <span> echo $num->ren
<?php echo $form['numbers_list'] ?>
但我需要打印其他数字字段,如:价格、代码等。
如何打印
对我来说最好的方法是这样:
<?php foreach($form['numbers_list'] as $num): ?>
<span> echo $num->renderInput()</span>
<span>echo $num->getPrice()</span>
<span>echo $num->getCode()</span>
<?php endforeach; ?>
echo$num->renderInput()
echo$num->getPrice()
echo$num->getCode()
您最好创建一个自定义的SFWidgetFormSchemaFormat类,然后使用它来输出表单-创建新的SFWidgetFormSchemaFormat类后,您可以通过执行
来输出整个表单,例如:
class sfWidgetFormSchemaFormatterCustom extends sfWidgetFormSchemaFormatter
{
protected
$rowFormat = "<span class=\"my-label-class\">%label%</span>\n <span>%error%%field%%help%%hidden_fields%</span>`n",
$errorRowFormat = "<span class=\"my-error-class\" colspan=\"2\">\n%errors%</span>\n",
$helpFormat = '<br />%help%',
$decoratorFormat = "<div>\n %content%</div>";
}
类sfWidgetFormSchemaFormatter自定义扩展sfWidgetFormSchemaFormatter
{
受保护的
$rowFormat=“%label%\n%error%%field%%help%%隐藏的\u字段%`n”,
$errorRowFormat=“\n%errors%\n”,
$helpFormat='
%help%',
$decororFormat=“\n%content%”;
}
然后在表单的configure方法中添加以下内容,告知表单使用自定义装饰器:
$this->getWidgetSchema()->setFormFormatterName('custom')代码>它适用于整个表单?我只需要自定义表单中嵌套数据的输出。如何做?只需更改行格式以匹配所需的行格式。。。然后你就可以输出整个表单了对不起。我解释得很糟糕,我想,或者我只是不明白你的意思:当我输出选项时,问题是我只从DB中获取它的id,而不是其他行。啊,好的-然后你需要查看此页面->并使用方法
参数…是的。但方法参数仅适用于将在格式化html中打印的值。我想自己格式化那个html。