0
는 내가 "CalendarForm"를 만들기 위해 38 시간 형태 "SportsDayForm"를 반복하려는, 그래서 나는 이런 식으로 embedForm을 사용 :symfony 1.4에서 embedForm을 사용하는 방법은 무엇입니까?
<?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>
하지만 :
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는이 치명적인 오류를 반환합니다 "4 행의 D : \ htdocs \ soccer \ apps \ backend \ modules \ calendar \ templates_form.php에있는 정의되지 않은 메소드 CalendarForm :: getObject()를 호출하십시오."
누군가 나를 도울 수 있습니까?
원래 포스트에 템플릿을 추가했습니다. – Webman
제가 말했던 것처럼 4 행과 5 행의 템플릿에서 getObject 메소드를 호출하고 있습니다. 'CalendarForm'에서'sfFormObject' 폼을 확장해야 할 수도 있습니다. sfForm이 아닙니다 (어쩌면'BaseCalendarForm'이 필요합니다.'sfFormObject'를 확장합니다). 그렇지 않으면 그 형식은 얻을 수있는 '객체'가 없습니다. –