【问题标题】:Cakephp 3 - Routes being either an action or a parameterCakephp 3 - 路由是一个动作或一个参数
【发布时间】:2016-11-08 23:43:38
【问题描述】:

我想知道如何路由以下场景:我有一个名为 Users 的控制器,在这个控制器中我有很多动作,其中之一是“配置文件”。

我希望我的地址是这样的:mysite.com/users/NameOfTheUser 或 mysite.com/users/edit-profile 或 mysite.com/users/edit-photo 等。

当您选择“edit-profile”时,您将被重定向到 edit_profile 操作,但诀窍是,当您访问“NameOfTheUser”时,我想重定向到“profile”操作,将“NameOfTheUser”传递为一个参数。

有没有办法在不手动路由每个操作的情况下做到这一点?

编辑 我使用了 Yosi Azwan 所说的代码,它可以工作,但我必须为控制器用户中的每个其他页面创建一个新路由。

Router::connect( '/users/:name', ['controller' => 'Users', 'action' => 'profile'], ['pass' => ['name']] );

【问题讨论】:

    标签: php cakephp routes cakephp-3.x


    【解决方案1】:

    也许这就是你要找的东西

    Router::connect( '/users/:name', ['controller' => 'Users', 'action' => 'profile'], ['pass' => ['name']] );
    

    并阅读此文档以获取完整文档 http://book.cakephp.org/3.0/en/development/routing.html

    【讨论】:

    • 是的,这正是我所需要的。但例如,要转到用户/编辑,我必须创建一个新路线来执行此操作。如果没有路由,它将重定向到操作配置文件。但它正在工作,谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 2018-04-22
    • 1970-01-01
    • 2017-01-26
    • 1970-01-01
    相关资源
    最近更新 更多