Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Slon
Зарегистрирован: 17 Ноя 2007 14:07:24 Сообщения: 3
|
Добавлено: 17 Ноя 2007 14:12:33 Заголовок сообщения: Структура сайта |
|
|
Здравствуйте.
С cakePHP знаком второй день, но уже многое узнал и много в чем разобрался. Но есть один простой вопрос который никак не могу понять.
Допустим, есть некий сайт с различными элементами (блоками), под которые я пишу контроллеры модели и представления. Например Навигация по сайту, пост картинок, добавление комментариев и т.д. С этим всё ясно.
Но каким образом мне организовать т.н. index page не могу понять. То есть я говорю о заглавной странице сайта, куда попадает полсетитель в самом начале, где будет несколько элементов (view/elements - menu, image gallery top etc.) и скажем какая то статическая инфа.
Мне надо сделать какой то обобщающий контроллер в который каким то образом заинклюдить нужные элементы? Или просто какое то общее view опять таки с инклюдами нужных элементов?
Расскажите пожалуйста.
И еще один небольшой ыопрос. Если у меня скажем есть страница сайта About Us со статической информацией, то мне под неё тоже нужно контроллер делать или как? Или контроллер делается исключительно для работы с базой? |
|
Вернуться к началу |
|
|
KPOTOB Гость
|
Добавлено: 17 Ноя 2007 15:21:04 Заголовок сообщения: |
|
|
Если страници нет в app\webroot то вступает в действие кейк |
|
Вернуться к началу |
|
|
Slon
Зарегистрирован: 17 Ноя 2007 14:07:24 Сообщения: 3
|
Добавлено: 17 Ноя 2007 15:23:56 Заголовок сообщения: |
|
|
KPOTOB писал(а): | Если страници нет в app\webroot то вступает в действие кейк |
Не совсем понял ваш ответ. В app/webroot по умолчанию лежит index.php в котором все настройки к путям (app/core etc.). И? |
|
Вернуться к началу |
|
|
bunyan
Зарегистрирован: 15 Ноя 2007 14:57:37 Сообщения: 17
|
Добавлено: 17 Ноя 2007 16:54:50 Заголовок сообщения: Re: Структура сайта |
|
|
Slon писал(а): | Здравствуйте.
Мне надо сделать какой то обобщающий контроллер в который каким то образом заинклюдить нужные элементы? Или просто какое то общее view опять таки с инклюдами нужных элементов?
|
Я правильно понял - должны быть блоки динамической информации?
Можно подключать на главной странице (во view) элементы через renderElement, можно вызывать requestAction и вставлять уже отрендеренное view нужного контроллера.
Slon писал(а): |
И еще один небольшой ыопрос. Если у меня скажем есть страница сайта About Us со статической информацией, то мне под неё тоже нужно контроллер делать или как? Или контроллер делается исключительно для работы с базой? |
Для статических страниц есть PagesController и папка views/pages, где должны лежать страницы. |
|
Вернуться к началу |
|
|
Slon
Зарегистрирован: 17 Ноя 2007 14:07:24 Сообщения: 3
|
Добавлено: 17 Ноя 2007 17:03:57 Заголовок сообщения: Re: Структура сайта |
|
|
bunyan писал(а): |
Можно подключать на главной странице (во view) элементы через renderElement, можно вызывать requestAction и вставлять уже отрендеренное view нужного контроллера.
|
Что занчит "на главной странице (во view)"?
Давайте посмотри всю схему начиная с того что пользователь набирает www.domain.com.
1. В routes определяется куда отправить пользователя при "/". Тут и есть мой главный вопрос - куда мы его перенаправляем?
Если бы у нас был блог, то всё понятно - на контроллер, который вытаскивает последние посты. А вот что делать, если у меня на главной странице "/" ничего не происходит, она статичная (разве что на ней должно быть парочку блоков из view/elements/ -> menu например)? |
|
Вернуться к началу |
|
|
KPOTOB Гость
|
Добавлено: 17 Ноя 2007 20:09:51 Заголовок сообщения: |
|
|
Slon
я отписал по последнему маленькому вопросу
если не возможно отдать запрашиваемый файл из webroot то будет вызван cake |
|
Вернуться к началу |
|
|
KPOTOB Гость
|
Добавлено: 17 Ноя 2007 20:13:33 Заголовок сообщения: |
|
|
и это не фича кейка - а дефолтная настройка mod_rewrite |
|
Вернуться к началу |
|
|
bunyan
Зарегистрирован: 15 Ноя 2007 14:57:37 Сообщения: 17
|
Добавлено: 18 Ноя 2007 05:10:02 Заголовок сообщения: Re: Структура сайта |
|
|
Slon писал(а): | bunyan писал(а): |
Можно подключать на главной странице (во view) элементы через renderElement, можно вызывать requestAction и вставлять уже отрендеренное view нужного контроллера.
|
Что занчит "на главной странице (во view)"?
Давайте посмотри всю схему начиная с того что пользователь набирает www.domain.com.
1. В routes определяется куда отправить пользователя при "/". Тут и есть мой главный вопрос - куда мы его перенаправляем?
Если бы у нас был блог, то всё понятно - на контроллер, который вытаскивает последние посты. А вот что делать, если у меня на главной странице "/" ничего не происходит, она статичная (разве что на ней должно быть парочку блоков из view/elements/ -> menu например)? |
Я делал так:
$Route->connect('/', array('controller' => 'pages', 'action' => 'display','home'));
home.thtml - view в папке pages, статическая страница. В нем, либо в лейауте, ты можешь подключать элементы, как я написал. |
|
Вернуться к началу |
|
|
Yaroslav Vorozhko Гость
|
Добавлено: 20 Ноя 2007 19:42:29 Заголовок сообщения: |
|
|
По умолчанию вызывается тот контроллер, который указан в routes как '/', и если не задан action, то вызвается index action. |
|
Вернуться к началу |
|
|
|