Сохранение родительских слагов в CakePHP - PullRequest
2 голосов
/ 03 октября 2011

Я экспериментирую с SEO-дружественными URL в CakePHP настолько эффективно, насколько могу, мне удалось использовать текущий формат, каждый пример использует представление функции ($ slug), за исключением первого примера, который использует функцию index ().

/ категории /

/ категории / книги /

/ категории / книги / it-and-computing /

НоЧто делать, если IT & Computing имеет подкатегорию "Веб-разработка"?Мне бы хотелось, чтобы URL стал следующим:

/ Categories / books / it-and-computing / веб-разработка /

Я не уверен, как это сделатьэто не создавая слишком много маршрутов.Вот мой код маршрута:

Router :: connect ('/ Categories /', массив ('controller' => 'category', 'action' => 'index'));

Router :: connect ('/ category /: slug', массив ('controller' => 'category', 'action' => 'view'), массив ('pass' => array ('slug ')));

Router :: connect (' / Categories /: parent /: slug ', массив (' controller '=>' category ',' action '=>' view '), массив('pass' => array ('parent', 'slug')));

Любая помощь будет принята с благодарностью

С уважением

Стивен

1 Ответ

0 голосов
/ 03 октября 2011
<code>// in routes.php
Router::connect('/categories/:row:lastslash',array('controller' => 'settings', 'action' => 'show',),array(
      'pass'=>array('row'),
      'row'=>'.*?',
      'lastslash'=>'\/?'
));

//in controller
function show($row = ""){
  if($row){
    $categories = split('/',$row);

    ?><pre><? print_r($categories);?>
...