роутер cakePHP раздражает меня системой нумерации страниц - PullRequest
0 голосов
/ 05 ноября 2011

Когда я ввожу адрес: http://www.yourdomain.com/2 (без страницы: 2)

Это дает вам отсутствующий вид: (ошибка)

Missing View

Error: The view for PagesController::display() was not found.

Error: Confirm you have created the file: /Users/username/Sites/mycakeapp/views/pages/2.ctp

Notice: If you want to customize this error message, create /views/errors/missing_view.ctp

В конфигурации маршрутизатора: (rout.php в конфигурации)

$chk = array('page' => '[0-9]');

Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home'));

Router::connect('/:page/*', array('controller' => 'pages', 'action' => 'display'), array(
            'page' => $chk['page'], 'pass' => array('page')
        ));

In pages_controller.php:

function display($on_page=1) {
$this->paginate = array(
'limit' => $this->Cookie->read('pagelimit'),
'page' => $on_page,
'order' => array(
'data.dateadded' => 'asc'
));
$data = $this->paginate('data');
$this->set('data', $data);

$this->render(implode('/', $path));
$this->set('title_for_layout', null);
}

Ответы [ 3 ]

1 голос
/ 05 ноября 2011

Попробуйте добавить все именованные параметры в конфигурацию маршрутов вручную:

Router::connectNamed(array('page'[, ...]);
0 голосов
/ 06 ноября 2011

Я обнаружил, что проблема решена.ответ:

добавить на страницу контроллера:

$this->render('/pages/home');

нет необходимости добавлять Router :: connectNamed

0 голосов
/ 06 ноября 2011

Как и в сообщениях об ошибках, в папке ваших страниц должен быть файл 2.ctp.

Подтвердите, что вы создали файл: / Users / username / Sites / mycakeapp / views/pages/2.ctp

Метод отображения в pages_controller обычно используется для отображения статических страниц.Файл с именем отправляемого вами параметра, в вашем случае 2, за которым следует «.ctp», должен существовать в папке view / pages, об этом вам сообщит сообщение об ошибке.

Если вы ожидаете чего-то другого, вы не делаете это правильно.

...