Я создаю CMS, используя CakePHP framework. Каждая страница, созданная с помощью CMS будет иметь свой уникальный URL-псевдоним, также в зависимости от структуры виртуальной папки, например:Автоматическая маршрутизация для псевдонимов страниц в CakePHP
- www.site.com/level-1/about-us
- www.site.com/level -2/наш сервис-
пользователь доступно создать свою собственную страницу, которая первоначально будет иметь следующий адрес: www.site.com/pages/<page_id>
, а затем создать URL-псевдоним для него www.site.com/<page_alias>
Page псевдонимы хранятся в базе данных. Как настроить маршруты, чтобы автоматически отражать эти изменения, например, когда пользователь CMS добавляет новую страницу на веб-сайт? Имея в виду, он также может обновить эти псевдонимы в будущем через CMS.
Маршруты файл имеет следующий
Router::connect(
'/pages/**',
array('controller' => 'pages', 'action' => 'show')
);
Добавление каждого нового псевдонима в маршрутах файл вручную крайне не удобно. Представьте себе новостной сайт, на котором будут сотни статей с их уникальными псевдонимами. Есть ли элегантное решение для этого?
его, как это должно быть сделано в загрузчике или что-то или может быть в beforeFilter() из приложения controller.but каждый раз fetchning данные и определить маршрут займет много времени. –