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