В объектах решение: (new и $ this)
даю свой собственный движок блога для изучения Symfony, и у меня есть вопрос:
На сгенерированных страницах администрирования для сообщения в блоге у меня есть раскрывающийся список авторов, в котором указывается идентификатор author_id.
Я хотел бы скрыть этот раскрывающийся список и установить для author_id идентификатор текущего вошедшего в систему пользователя при создании сообщения (но не при его редактировании)
Как я могу это сделать?
редактировать Я пробовал те:
$request->setParameter(sprintf("%s[%s]", $this->form->getName(), "author_id"), $this->getUser()->getAttribute("user_id"));
$request->setParameter("content[author_id]", $this->getUser()->getAttribute("user_id"));
$request->setParameter("author_id", $this->getUser()->getAttribute("user_id"));
$request->setParameter("author_id", 2);
$request->setParameter("content[author_id]", 2);
$request->setParameter("author_id", "2");
$request->setParameter("content[author_id]", "2");
В processForm () и executeCreate ()
Решено!
Окончательный код:
public function executeCreate(sfWebRequest $request)
{
$form = $this->configuration->getForm();
$params = $request->getParameter($form->getName());
$params["author_id"] = $this->getUser()->getGuardUser()->getId();;
$request->setParameter($form->getName(), $params);
parent::executeCreate($request);
}