Cakephp 2 路由/SEO 友好 url
Cakephp 2 Routing / SEO friendly urls
对 cakephp 完全陌生,很难理解文档。
我正在研究的想法是出租 属性 搜索。我有控制器 rentalsController
在这里我有索引,我可以获取所有索引
我还有一个列出地区的边栏
现在,我想要发生的事情是让用户查看索引,然后转到边栏和 select 他们希望租用的区域。 URL 应该是 .com/rentals/region-name/
然后这将调用(这里可能是错误的)rentalsController > byRegion($region){ fetch.... )
我如何 a) 设置路由来管理它和 b) 收集通过的区域的功能。
对不起,如果这是基本的,但我已经搜索过,现在让我大吃一惊 - 正如你想象的那样 - 我们都曾经在这里学习过一种新的做事方式。
感谢您的所有反馈 - 马克
编辑
终于到了:
Router::connect(
'/rentals-in-:region.html',
array( 'controller' => 'rentals', 'action' => 'byRegion' ),
array( 'region' => '[a-zA-Z0-9\-]+', 'pass' => array('region'),
));
a) 如果您是蛋糕新手,我不建议您在路线文件中尝试。
如果您遵循蛋糕的惯例,您可以通过调用 /rentals/by_region/{region_name}.
来访问您的 RentalsController::byRegion ($region) 操作
不要忘记创建视图文件 app/View/Rentals/by_region.ctp
b)
假设您的租金 table 有一个区域字段:
public function byRegion ($region){
$this->set ('rentals', $this->Rental->find ('all', array (
'conditions' => array (
'Rental.region LIKE' => $ region
)
)));
编辑:
比你要找的:
Router::connect(
'/rentals/:region',
array('action' => 'byRegion'),
array('region' => '{your regex matching region}')
);
将此添加到您的路线文件中。您现在应该可以像您提到的那样调用 url 了。
应该可以,但我还没有测试过。
对 cakephp 完全陌生,很难理解文档。
我正在研究的想法是出租 属性 搜索。我有控制器 rentalsController
在这里我有索引,我可以获取所有索引
我还有一个列出地区的边栏
现在,我想要发生的事情是让用户查看索引,然后转到边栏和 select 他们希望租用的区域。 URL 应该是 .com/rentals/region-name/
然后这将调用(这里可能是错误的)rentalsController > byRegion($region){ fetch.... )
我如何 a) 设置路由来管理它和 b) 收集通过的区域的功能。
对不起,如果这是基本的,但我已经搜索过,现在让我大吃一惊 - 正如你想象的那样 - 我们都曾经在这里学习过一种新的做事方式。
感谢您的所有反馈 - 马克
编辑
终于到了:
Router::connect(
'/rentals-in-:region.html',
array( 'controller' => 'rentals', 'action' => 'byRegion' ),
array( 'region' => '[a-zA-Z0-9\-]+', 'pass' => array('region'),
));
a) 如果您是蛋糕新手,我不建议您在路线文件中尝试。 如果您遵循蛋糕的惯例,您可以通过调用 /rentals/by_region/{region_name}.
来访问您的 RentalsController::byRegion ($region) 操作不要忘记创建视图文件 app/View/Rentals/by_region.ctp
b) 假设您的租金 table 有一个区域字段:
public function byRegion ($region){
$this->set ('rentals', $this->Rental->find ('all', array (
'conditions' => array (
'Rental.region LIKE' => $ region
)
)));
编辑:
比你要找的:
Router::connect(
'/rentals/:region',
array('action' => 'byRegion'),
array('region' => '{your regex matching region}')
);
将此添加到您的路线文件中。您现在应该可以像您提到的那样调用 url 了。 应该可以,但我还没有测试过。