Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
aktuba
цитировать
Зарегистрирован: 18 Янв 2008 10:24:01 Сообщения: 38
|
Добавлено: 05 Фев 2008 03:54:46 Заголовок сообщения: Постраничный вывод |
|
|
По некоторым причинам (основная из которых - урл), я не могу использовать Pagination в CakePHP 1.2... Хочу теперь написать постраничный вывод сам, но нужна помощь. В частности несколько вопросов:
1. Как правильно прописать модели? Есть модель User и есть модель Post... Я сам запутался в hasOne, hasMany и т.д... Направьте на путь истинный
2. Как я понимаю, необходимо получать данные из базы для определенной страницы, т.е. что-то наподобии $this -> Post -> findall()... Верно? Если да, то как правильно указывать параметры для такого запроса? А если нет - то как правильно? |
|
Вернуться к началу |
|
|
Vlad
цитировать
Зарегистрирован: 02 Ноя 2007 11:45:52 Сообщения: 241
|
Добавлено: 05 Фев 2008 09:54:39 Заголовок сообщения: |
|
|
Посмотреть как сделана функция pagination и сделать по аналогии - раз.
Второе - hasone-hasmany - уже есть переведённые на русский язык. |
|
Вернуться к началу |
|
|
aktuba
цитировать
Зарегистрирован: 18 Янв 2008 10:24:01 Сообщения: 38
|
Добавлено: 05 Фев 2008 12:17:40 Заголовок сообщения: |
|
|
Нашел как прикрутить pagination, но осталась одна проблема... В роутере есть такие строки:
Код: |
Router::connect('/', array('controller' => 'posts', 'action' => 'view'));
Router::connect('/*', array('controller' => 'posts', 'action' => 'viewone'));
|
С ними pagination, соответственно не работает, т.к. перекидывает на viewone... Урл для страниц выглядит так: host.ru/page:{номер страницы}. Пытаюсь в роутер добавить строку (выше):
Код: |
Router::connect('/page:*', array('controller' => 'posts', 'action' => 'view'));
|
но не работает =(. Все равно отправляет на viewone... Почему? |
|
Вернуться к началу |
|
|
Vlad
цитировать
Зарегистрирован: 02 Ноя 2007 11:45:52 Сообщения: 241
|
Добавлено: 05 Фев 2008 12:31:40 Заголовок сообщения: |
|
|
поменяй строки местами. Сначала пусть идёт
/page:*
а потом
/*
|
|
Вернуться к началу |
|
|
aktuba
цитировать
Зарегистрирован: 18 Янв 2008 10:24:01 Сообщения: 38
|
Добавлено: 05 Фев 2008 12:44:46 Заголовок сообщения: |
|
|
Vlad писал(а): | поменяй строки местами. Сначала пусть идёт
/page:*
а потом
/*
|
В том-то и проблема, что так и делал - не помогло =( |
|
Вернуться к началу |
|
|
KPOTOB
цитировать
Зарегистрирован: 09 Дек 2007 14:46:20 Сообщения: 127
|
Добавлено: 05 Фев 2008 13:11:52 Заголовок сообщения: |
|
|
А уверен что : именно как двоеточие попадает когда руты проверяются?
Попробуй просто /page* |
|
Вернуться к началу |
|
|
aktuba
цитировать
Зарегистрирован: 18 Янв 2008 10:24:01 Сообщения: 38
|
Добавлено: 05 Фев 2008 18:01:10 Заголовок сообщения: |
|
|
Цитата: | А уверен что : именно как двоеточие попадает когда руты проверяются? |
Не совсем понял вопрос...
Цитата: | Попробуй просто /page* |
Пробовал, не помогает =( |
|
Вернуться к началу |
|
|
KPOTOB
цитировать
Зарегистрирован: 09 Дек 2007 14:46:20 Сообщения: 127
|
Добавлено: 05 Фев 2008 20:57:24 Заголовок сообщения: |
|
|
'/page\w*' - это для типа /page222
c : denwer у меня ругается изрядно
чуть голова не лопнула |
|
Вернуться к началу |
|
|
|