【问题标题】:Symfony linking to an admin Table record edit pageSymfony 链接到管理表记录编辑页面
【发布时间】:2012-08-04 02:07:11
【问题描述】:

有点难以理解这一点。对于那些广泛使用 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 错误,指出问题/操作不存在

总而言之,您如何链接到专门为记录呈现的管理页面?

【问题讨论】:

    标签: symfony1 routing symfony-1.4


    【解决方案1】:

    url_for(以及 link_to)助手处理 internal url,而不是外部的。语法为module/action?parameters。在您的情况下,这将是 question/edit?id=$primarykey(假设该操作查找 id 参数)。

    如果您为您的路线命名,这可以更快地生成链接(哈希表查找与线性搜索):

    echo url_for("@question_edit?id=$primary_key");
    

    如果您将路线设置为 sfDoctrineRoute,它会变得更加简单:

    echo url_for("question_edit", $question);
    

    注意您不需要传递 id,而是传递问题对象 - 路由类将获取所有必要的参数。

    【讨论】:

      猜你喜欢
      • 2017-05-08
      • 1970-01-01
      • 2012-04-10
      • 2020-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-08
      • 1970-01-01
      相关资源
      最近更新 更多