Как изменить URL-адреса cakePHP в маршрутах? - PullRequest
1 голос
/ 22 мая 2011

Я попытался изменить мои маршруты в app / config / rout.php.

У меня есть такие URL: http://example.com/controller/action/params Я хотел бы URL-адреса, как это: http://example.com/controller/params

вот мой маршрут, который я построил, насколько я понимаю:

Router::connect('/services/:slug', 
array('controller' => 'services', 'action' => 'view'), 
array('pass' => array('slug')));

и вот моя ссылка в моем файле index.ctp для сервисов:

echo $this->Html->link(
     __($service['Service']['title'], true),
    array('controller' => 'services', 'action' => 'view', service['Service']'slug'])
); 

Если это поможет, вот моя функция просмотра из контроллера служб:

    function view($slug) {
        $service = $this->Service->findBySlug($slug);

        $this->set('service', $service);
    }

1 Ответ

0 голосов
/ 08 июля 2011

Вы почти у цели. Файл представления для маршрута действия - это view.ctp (имя метода), а не index.ctp

По вашей ссылке вы можете сделать:

<?php
echo $this->Html->link(
__($service['Service']['title'], true),
array('controller' => 'services', 'action' => $service['Service']['slug'])
?>

Без метода в параметре 'action', потому что ваши настройки сделают маршрутизацию за вас.

...