私はSymfonyを学ぶために自分のブログエンジンを作成しています、そして私は質問があります:
ブログ投稿用に生成された管理ページには、author_idを示すための作成者のドロップダウンリストがあります。
そのドロップダウンリストを非表示にし、投稿の作成時に(ただし、編集時ではなく)、author_idを現在ログインしているユーザーの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);
}