Проверьте код, сгенерированный в вашем браузере (или firebug) для формы. Значения формы используются, чтобы иметь имя, в соответствии с вашей конфигурацией «формата имени», например:
<input type="text" name="my_name_format[widget_name]" />
Таким образом, чтобы получить доступ к его значению, переданному в действие, вы должны использовать что-то вроде этого:
$parameters = $request->getParameter('my_name_format');
$parameter = $parameters['widget_name'];
И так для каждого значения вашей формы с использованием массива «параметры».
Простой проект, реализующий мое решение в вашем коде, выглядит следующим образом:
public function executeMediaFileUpload(sfWebRequest $request) {
$this->form = new MediaFileUploadForm();
$parameters = $request->getParameter('values'); // Since you used $this->widgetSchema->setNameFormat('values[%s]')
if (!$request->isMethod('POST'))
$psk = $parameters['psk'];
else {
$this->form->bind($request->getParameter($this->form->getName()), $request->getFiles($this->form->getName()));
$this->logMessage('VALUE: ' . $parameters['version']);
$psk = $parameters['application'];
}
$this->logMessage('PSK: ' . $psk);
$app = Doctrine::getTable('Application')->find(array($psk));
$this->form->setDefault('application', $app->getPsk());
$this->form->setDefault('version', $app->getVersion()->getLast()->getPsk());
Надеюсь, это решение работает.