Symfony链接到管理员表格记录编辑页面
问题描述:
发现很难把我的头围绕此。对于那些广泛使用Symfony管理生成器的用户,对于基于后端模块的每个模块,都有一个所有记录的编辑页面。典型地,这可以这样获得:Symfony链接到管理员表格记录编辑页面
module/primarykey/edit. (assume questions/1/edit)
这很奇怪,因为通常的主键将被传入像一个URI参数:
问题/编辑/ 1。无论如何,这可能无关紧要。重要的是,我如何设法为上述URI生成link_to。我通过不属于UI的外部页面链接editSuccess页面。我使用的语法是
link_to('Edit','questions/'.$primary_key.'/edit') // (where $primary_key = 1 as in this case)
但是,这种自动修改自己:
/backend_dev.php/questions/1/action 注意动作,而不是编辑
没有这样的行为存在,它会返回一个404错误,指出不存在问题/操作
总而言之,您如何链接到专门用于记录的管理页面?
答
url_for
(以及link_to
)帮手处理内部网址,而不是外部网址。语法是module/action?parameters
。在你的情况下,这将是question/edit?id=$primarykey
(假设操作查找id参数)。
如果你给一个名称,你的路线,使生成的链接速度(哈希表查找与线性搜索):
echo url_for("@question_edit?id=$primary_key");
如果您设置的路线为sfDoctrineRoute,它变得更简单:
echo url_for("question_edit", $question);
请注意如何不需要传递id,但问题对象 - 路由类将获取所有必要的参数。