2015-01-30 3 views
1

Мне нужно выполнить тестовый контроллер без отображения файла test.ctp по умолчанию. как я могу сделать это в cakephp? У меня есть запись ниже код и вернуться ниже сообщение об ошибке:Загрузить контроллер cakephp без отображения представления по умолчанию

Confirm вы создали файл: Страницы \ test.ctp в одном из следующих путей :

C: \ WAMP \ WWW \ cakephp- 2.6.1 \ приложение \ View \ Pages \ test.ctp

public function test(){ 
    $this->layout  = NULL; // false 
    $this->autoRender = false; 
    $this->render('/pages/display2'); 
} 

ответ

0

$this->view = 'display2'; все, что вам нужно.

+0

спасибо за вашу помощь .. но не работает .. это теперь также поиск test.ctp файла и вернуть ошибку - подтвердить, что вы создали файл: Pages \ test.ctp \t в одном из следующих путей: –

+0

Мне просто нужно загрузить display2.ctp ... но я также заставляю загружать файл test.ctp .., который я еще не создал. поэтому он дает мне ошибку ... –

0

Вы можете использовать viewPath, чтобы указать, где приложение должно искать рендеринг.

public function test() { 
    $this->layout = NULL; 
    $this->viewPath = 'MY/PATH'; //app/View/MY/PATH/ 
    $this->render('mytest'); //app/View/MY/PATH/mytest.ctp 
} 
+0

Остерегайтесь использования Controller :: render, когда это не нужно. Эта функция немедленно прекратит действие и продолжит обратный вызов beforeRender, который может иметь непреднамеренные последствия. –

+0

, если вы называете это последним элементом в действии вашего контроллера, то я не вижу никаких проблем, не так ли, что контроллер делает это в любом случае внутри с представлением «по умолчанию» в этом случае test.ctp? – thanat