2015-08-26 3 views
0

У меня есть две функции «product» и «view» в cakephp. Если какой-либо один тип domainname.com/item1, то вызовите функцию «product», а если domainname.com/item1/item2, то вызовите функцию «view».Маршрутизация CakePHP - URL только с параметрами

item1 и item2 - динамический контент.

Router::connect('/:category', array('controller' => 'Posts', 'action' => 'product')); 

Router::connect('/:category/:title', array('controller' => 'Posts', 'action' => 'view'));

Я использую этот код в routes.php

Проблема заключается в следующем, если я введу domainname.com/item1 то функция просмотра вызовов.

, пожалуйста, предложите мне, как использовать переписывание url в cakephp.

+0

Каким образом ваш внешний вид действия продукта ? –

+0

Какое у вас имя контроллера? – Fury

+0

Мой контроллер - это сообщение. –

ответ

0

попытка добавить/сообщений и specifie заказ как это:

Router::connect('/posts/:category/:title', 
      array('controller' => 'Posts', 'action' => 'view'), 
      array(
      // order matters since this will simply map ":category" to $category in your action 
      'pass' => array('category', 'title') 
      ) 
      ); 

Вы можете взглянуть на документ http://book.cakephp.org/2.0/fr/development/routing.html

+0

Мы не ставим префикс в url like "posts" –

0

попробовать это

Router::connect('/:category/:product', 
    array('controller' => 'posts', 'action' => 'view'), 
    array('pass' => 
     array('product') 
)); 

Router::connect('/:product', array('controller' => 'posts', 'action' => 'product')); 
+0

Такая же проблема есть. В то время работает только один маршрутизатор. –

+0

Что это значит? Это делает то, что вы просили. Если вы перейдете к item1 domainname.com/item1, в противном случае, если вы перейдете к item1/item2, перейдите на доменное имя.com/item1/item2 – Fury

+0

. Какое имя контроллера? – Fury

Смежные вопросы