Chvalov
@Chvalov

Два разных контролера для одного сайта на fat-free framework, как правильно сделать?

Делаю сайт по примеру: valex.net.ru/fatfree-mvc.html
Там есть контролер в папке controllers под именем Controller.php
Который подгружает шаблон для админки
function afterroute() {
		echo Template::instance()->render('admin_layout.html');
    }
Но когда закончил админу и перешел к клиентской части заметил что что у меня подгружает кусок шаблона с "admin_layout.html", как мне сделать что бы для админки подгружало этот шаблон, а для клиентсокй части "client_layout.html" ?

Вот кусок моего файла роутера
[routes]
###АДМИНКА###
# Загружает главную страницу админки
GET /admin=AdminController->admin
..............................
# Удаление пользователя
GET /admin/user/delete/@id=AdminController->admin_user_delete

###ГЛАВНАЯ (САЙТ)###
# Загружает главную страницу сайта
GET /=UserController->index


Или удалить данный контролер и прописать разные шаблоны в контролерах ClientController.php и AdminController.php ?
  • Вопрос задан
  • 2490 просмотров
Пригласить эксперта
Ответы на вопрос 2
@2vtlk
Не люблю писать в текстовых (ini) конфигах. Люблю писать всё php-кодом
В index.php добавляем роут:
$f3->route('GET /@controller/@action','\controllers\@controller->@action');


Для того что бы сделать другой layout можно пойти несколькими способами:
1. Унаследовать контроллеры админки и клиентской части от разных базовых контроллеров
2. Костыль. Можно переопределить метод afterroute в каждом контроллере(где и вызывать другой layout).
Ответ написан
Комментировать
Chvalov
@Chvalov Автор вопроса
Взял и перенес все с Controller.php в AdminController.php и ClientController.php подправил в каждом контролере то что мне нужно и удалил старый, как-то все не красиво но работает.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы