0
我要重复的形式“SportsDayForm” 38次,创造了“CalendarForm”,所以我用了embedForm这样:如何在symfony 1.4中使用embedForm?
class CalendarForm extends sfForm
{
public function configure()
{
$subForm = new sfForm();
$form = new SportsDayForm();
for ($i = 0; $i < 38; $i++)
{
$subForm->embedForm($i, $form);
}
$this->embedForm('calendar', $subForm);
}
}
模板是这样的:
<?php use_stylesheets_for_form($form) ?>
<?php use_javascripts_for_form($form) ?>
<form action="<?php echo url_for('calendar/'.($form->getObject()->isNew() ? 'create' : 'update').(!$form->getObject()->isNew() ? '?id_sportsday='.$form->getObject()->getIdSportsDay() : '')) ?>" method="post" <?php $form->isMultipart() and print 'enctype="multipart/form-data" ' ?>>
<?php if (!$form->getObject()->isNew()): ?>
<input type="hidden" name="sf_method" value="put" />
<?php endif; ?>
<?php echo $form ?>
</form>
但php返回这个致命错误“在第4行调用D:\ htdocs \ soccer \ apps \ backend \ modules \ calendar \ templates_form.php中的未定义方法CalendarForm :: getObject()。
有人可以帮助我吗?
我在原来的文章中加入了模板 – Webman 2012-02-07 16:59:45
就像我刚才说的,您在第4行和第5行的模板中调用了getObject方法。您可能需要在'CalendarForm'中扩展一个'sfFormObject'形式,不是一个sfForm(也许你需要'BaseCalendarForm',它扩展了'sfFormObject')。否则,这种形式没有“对象”来获取和玩。 – 2012-02-07 21:00:25