【问题标题】:cakePhp routing, how do I create a route that ...?cakePhp 路由,如何创建...的路由?
【发布时间】:2023-03-14 10:10:01
【问题描述】:

我想使用 cake 的路由器来获得友好的 url。 我的网址属于这种类型:

http://domain/some_text/categories/view/4/5/6
http://domain/other_text/articles/read/new-stuff
http://domain/xyz_text/charts/list/latest/10

基本思路是,将url的第一部分(some_text, other_text, xyz_text)作为参数转发给action,但作为命名参数。

  1. 我可以在一条路线中构建这样的路线吗?
  2. 是/否 - 如何?
  3. 这是实现该目标的方法吗?
  4. 如何使用HtmlHelper:link() 方法创建指向此类路由的链接? (一些测试给了我http://domain/Controller/action/params../some_name:some_text...)

【问题讨论】:

    标签: routes cakephp-1.3


    【解决方案1】:

    您可以这样做,但您需要为每个控制器构建一个。这是您在问题中列出的类别控制器的示例:

    http://domain/some_text/categories/view/4/5/6
    
    
    Router::connect(
        '/:pagevar/:controller/:action/*',
        array(
           'controller' => 'categories',
           'action' => 'view',
        ),
        array(
           'pass' => 'pagevar'
        )
    );
    

    然后要访问“some_text”变量,您可以通过参数引用它:

    $this->params['pagevar']
    

    我不确定这是否正是您想听到的,但它可能会为您提供一些从何处构建的想法。

    【讨论】:

      猜你喜欢
      • 2013-12-26
      • 2012-07-25
      • 2023-03-23
      • 1970-01-01
      • 2012-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-07
      相关资源
      最近更新 更多