Cakephp маршрут с регулярным выражением для отображения того же представления, но с динамическим URL

1

Я использую Cakephp 2.0, и у меня есть настройка контроллера, чтобы принять динамический url для отображения одного и того же представления:

http://domain/some-text-sid-2
http://domain/some-text-sid-3
.
.
.

Все содержимое страниц изменяется соответственно с помощью ajax. Но когда я посещаю эту страницу или перенаправляю на эту страницу с другой страницы, я хочу показать представление, представленное в ссылке, упомянутой ниже

http://domain/some-text

но URL-адрес должен оставаться таким же. Например, если я посещаю страницу:

http://domain/some-text-sid-2

то представление должно быть

http://domain/some-text

но URL-адрес не должен меняться. Пожалуйста, помогите и заблаговременно.

  • 0
    Вы читали часть книги о маршрутизации ? Какие маршруты вы пробовали?
  • 0
    @jeremyharris Да, я просмотрел документацию по маршрутизации. Я еще не пробовал никаких маршрутов, потому что я не понимаю, как это можно реализовать.
Теги:
cakephp
cakephp-2.0

1 ответ

0
Лучший ответ

Возможным решением является добавление следующего маршрута в /Config/routes.php:

//Matches anything except URLs that include 'my_controller' to prevent looping
Router::redirect('/:text', array('controller' => 'my_controller', 'action' => 'my_action'), array('persist' => ['text'],'text'=>'(?!my_controller)(.*)'));

Затем вы извлекаете text в своем действии после перенаправления:

class MyController extends AppController 
{
    public function my_action() {
        $text = $this->params->named['text'];

        //[...] process action
    }
 }
  • 0
    Спасибо @Inigo Флорес, я работал. Я должен был сделать некоторую работу, но ваше руководство помогло мне. Еще раз спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню