У меня есть призовая форма со следующими полями:
artist -> Choice (Related model artist)
prize_type
year
При создании нового объекта приза у меня нет проблем.Теперь я хочу, чтобы в моем представлении «Исполнитель» была кнопка с именем Create Prize
, и при ее нажатии необходимо перейти к форме, но я хочу, чтобы поле artist
было выбрано по умолчанию.
Как я могу это сделать?установить значение по умолчанию для этого поля в зависимости от того, с какого URL идет?
Я пытался получить свой идентификатор исполнителя в URL, поэтому получил что-то вроде этого:
"приз /new? id_artist = 23 "
Но я не могу понять, как вставить этот идентификатор в поле $form['id_artist']
.
Я пытался использовать опцию setDefault
, ноэто только для заполнителей:
$this->form->setDefault('id_artist', $request->getParameter("id_artist"));
Также я скрываю связанное поле в своем шаблоне, так как не хочу, чтобы оно приходило с этого URL
<?php if(!$id_artist): ?>
<div class="control-group <?php echo $form['id_artist']->hasError()?'error':''; ?>">
<?php echo $form['id_artist']->renderLabel('Artist ',array('class' => 'control-label')) ?>
<div class="controls">
<?php echo $form['id_artist']?>
<small class="help-inline">Artist</small>
<?php if($form['id_artist']->hasError()): ?>
<small class="help-inline">(<?php echo $form['id_artist']->getError() ?>)</small>
<?php endif; ?>
</div>
</div>
<?php endif; ?>
Я попытался автоматически установить id_artist
непосредственно на этот параметр, но вместо этого я получил ошибку, так как в моей форме требуется артист.