2013-09-21 3 views
0

Извините за это не очень описательное название, не удалось найти способ поместить его.cakephp route все страницы к определенному виду

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

site.com/shop1

site.com/my_shop_name

site.com/john_shop

и т.д.

, конечно, я не хочу мешать другим маршрутам, как/магазины/добавить,/магазины/редактировать,/продукты/просмотр/product_name т.д.

Поскольку магазины динамически созданный я не могу записать все маршруты как routes.php.

Есть ли решение?

спасибо

ответ

0

Я работаю в аналогичном проекте. то, что я сделал, это фиксированные шаблоны. поэтому в таблице tembats db я дал этим шаблонам имя perticualr. Эти шаблоны будут в виде, как этот

приложение/просмотр/Главный/aglet.ctp приложения/просмотр/Главный/gondor.ctp

приложение/просмотр/О/aglet.ctp приложения/просмотр/О /gondor.ctp

приложение/просмотр/Макет/сережка/default.ctp приложение/просмотр/Макет/Гондор/default.ctp

приложение/Webroot/сережка/CSS/123.css приложение/Webroot /aglet/js/123.js

, когда кто-то придет на сайт, вы можете получить это доменное имя usign HTTP_HOST. по имени Вы можете получить domain_id, а по шаблону hasOne домена вы можете получить шаблон forlder. так rendring просмотра вы можете получить

$this->layout = $result['Template][foldername].DS.'default' 

и

$this->render('/Home'.DS.$result['Template][foldername]); 

таким образом, вы можете определить маршруты. например

Router::conncet('/Homepage',array('controller'=>'Home','action'=>'home')); 

поэтому, если у вас есть 6 страниц, вам необходимо создать 6 маршрутов. вот все

+1

Я не работаю для него или нет, но это сработало для меня. Спасибо чувак –

Смежные вопросы