Как получить данные пользователя в форме в Symfony 1.2?

StackOverflow https://stackoverflow.com/questions/627585

  •  06-07-2019
  •  | 
  •  

Вопрос

Я использую Symfony 1.2 в стандартном классе формы Propel.

public function configure()
{
    $this->setWidgets(array( 
'graduate_job_title' => new sfWidgetFormInput( array(), array( 'maxlength' => 80, 'size' => 30, 'value' => '' ) )
    ));
    //etc
}

Однако я хочу, чтобы значение этого поля было получено из информации о пользователе, к которой я обычно получаю доступ с помощью $this->getUser()->getAttribute( '...' ).Однако в такой форме это, похоже, не работает.

Что мне следует использовать?

Это было полезно?

Решение

<забастовка> Это работает?

sfContext::getInstance()->getUser()->getAttribute('...');

<забастовка>

// Edit : см. рекомендацию cirpo об использовании sfContext вместо этого.

Другие советы

Очень плохая идея полагаться на экземпляр sfContext.Лучше передать то, что вам нужно во время инициализации sfForm, в параметре массива параметров.

http://www.symfony-project.org/api/1_4/sfForm

__construct метод

например в вашем действии:

$form = new myForm(null, 
                   array('attributeFoo' => 
                         $this->getUser()->getAttribute('attributeFoo'));

а затем получите значение внутри класса формы:

$this->getOption('attributeFoo');

цирпо

В Symfony 1.4 объект $ sf_user

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top