簡體   English   中英

如何將參數從 URL 傳遞到管理員生成的表單?

[英]How do I pass a parameter from URL to an admin generated form?

我有兩個模型,即“客戶端”和“寵物”,每個模型都有管理員生成的模塊。 涉及一對多關系,因此我希望能夠使用 URL(即 /pet/new/cid/6)中指定的 cid(客戶端 ID)創建一個新寵物

我已經禁用了客戶端表單中的 cid 字段,以便 URL 中的參數將作為默認值傳遞。

我嘗試使用以下代碼覆蓋管理員生成的模塊的 actions.class.php:

public function executeCreate(sfWebRequest $request)
{
    $this->form = $this->configuration->getForm();
    $params = $request->getParameter($this->form->getName());
    $params["cid"] = $request->getParameter('cid');
    $request->setParameter($this->form->getName(), $params);

    parent::executeCreate($request);
}

如果我更換它就可以了

$request->getParameter('cid');

使用硬編碼的 int 值,所以我認為問題在於我無法從 URL 獲取參數。

我想我可能缺少一些路由配置,但我對這個框架相當陌生,所以我不確定該怎么做。

您可以像這樣簡單地在 url 中傳遞參數 cid:
/pet/new?cid=6

並通過以下方式在您的操作中獲得結果:
$request->getParameter('cid');

路由的第一部分(/pet/new)是一個具體的學說RouteCollection

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM