Cakephp Домашняя страница логика - PullRequest
2 голосов
/ 03 ноября 2010

Мне вдруг интересно ... для домашней страницы, которая указывает на контроллер => страницы action => display and home ... где мне написать логику контроллера?

Ответы [ 2 ]

5 голосов
/ 03 ноября 2010

В PagesController (который вы можете скопировать с cake/libs/controller). Или вы можете изменить маршрут для "/", чтобы он указывал на контроллер / действие по вашему выбору.

2 голосов
/ 22 января 2012

@ dhofstet: Спасибо!

Теперь я могу получить доступ к моей домашней странице

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

без регистрации.

Это мое приложение / контроллеры / pages_controller.php :

<?php
class PagesController extends AppController {
    var $name = 'Pages';
    var $helpers = array('Html', 'Session');
    var $uses = array();

    function beforeFilter() {
        parent::beforeFilter();
        $this->Auth->allow('home');
    }

    function home() {
    }

    function display() {
        $path = func_get_args();

        $count = count($path);
        if (!$count) {
            $this->redirect('/');
        }
        $page = $subpage = $title_for_layout = null;

        if (!empty($path[0])) {
            $page = $path[0];
        }
        if (!empty($path[1])) {
            $subpage = $path[1];
        }
        if (!empty($path[$count - 1])) {
            $title_for_layout = Inflector::humanize($path[$count - 1]);
        }
        $this->set(compact('page', 'subpage', 'title_for_layout'));
        $this->render(implode('/', $path));
    }
}
?>
...