Как создать пользовательские URL в CakePHP - PullRequest
1 голос
/ 15 ноября 2010

Я создал приложение CakePHP.У меня URL выглядит как

www.mysite.com/products/search/hardware

загружается нормально.Но я хочу URL-адреса, которые выглядят как

www.mysite.com/hardware

Может ли это быть достигнуто путем установки маршрута подключения

Я ценю любую помощь.

Ответы [ 3 ]

3 голосов
/ 15 ноября 2010

Да, вы можете использовать маршрут.

Router::connect(
    '/hardware',
    array('controller' => 'products', 'action' => 'search', 'hardware')
);

Для более общего решения (маршрутизация любого названия категории к продуктам / поиску) см. http://book.cakephp.org/view/948/Defining-Routes

1 голос
/ 15 ноября 2010

Вы можете добавить что-то вроде

 Router::connect('/hardware',
                  array('controller' => 'products', 'action' => 'search'),
                  array('pass' => array('search'), 'search' => 'hardware'));

в ваш файл rout.php, но тогда вам придется сделать это для каждого элемента поиска.

Проблема, с которой вы столкнетесь, еслиВы хотите что-то автоматическое, это то, что вам нужен способ отличить ваши продукты для поиска от любой другой модели, которая у вас есть.Поэтому, возможно, вам следует выбрать другой тип URL-адреса, например

 www.mysite.com/products/hardware

или

 www.mysite.com/s/hardware

, и соответственно использовать соответствующие маршруты.

0 голосов
/ 15 ноября 2010

Как насчет создания hardware_controller в вашей папке контроллеров.

...