ZendFramework ZfcUser - настройка шаблонов

scorpion-ds

Новичок
Сейчас в свободное время разбираюсь с ZF2, привязал к проекту модули ZfcUser и BjyAuthorize, все вроде работает в базовом варианте, но не могу подменить шаблоны по умолчанию, редактировать сами шаблоны не хочу (хочу оставлять модули нетронутыми, что иметь возможность потом обновить их).

Может кто-то уже сталкивался с таким?
 

scorpion-ds

Новичок
Этот параметр не работает почему-то, что бы я не ввел, ничего не изменятся, хоть бы ошибку получить ...

Помогло в моем модуле по работе с пользователями, в конфиг добавить следующие:
PHP:
return array(
    'view_manager' => array(
        'template_path_stack' => array(
            'zfcuser' => __DIR__ . '/../view',           
        ),
    ),
после чего в самом модуле необходим создать такую же структуру папок для шаблонов, в теории если я правильно понимаю, то параметр "user_login_widget_view_template" о котором вы говорите, должен позволить задать свой путь уже в рамках текущего модуля.

В общем можно сказать, что пока выход найден, буду дальше разбираться.
 

scorpion-ds

Новичок
Следующий вопрос:
Есть ли возможность подменить основной "layout" для определенного действия в модуле ZfcUser? Конкретно интересует использовать другой базовый шаблон для страницы авторизации (позже и регистрации)?

Я пробовал пойти по пути событий и по пути конфигов, ничего не получается.
 

WMix

герр M:)ller
Партнер клуба
специально поставил ZfcUser,
можно и так как ты сказал, если делаешь новый модуль а можно в аппликацию в конфиг вписать
PHP:
 'view_manager' => array(
  'template_map' => array(
  'zfc-user/user/login'  => __DIR__ . '/../view/application/index/login.phtml'
))
сменить layout делается так
PHP:
$this->layout('layout/layout2.phtml');
а можно и событие отловить
PHP:
class Module
{
    public function onBootstrap(MvcEvent $e)
    {
        $eventManager        = $e->getApplication()->getEventManager();
        $moduleRouteListener = new ModuleRouteListener();
        $moduleRouteListener->attach($eventManager);

        $eventManager->attach(MvcEvent::EVENT_ROUTE, function(MvcEvent $e){
            $routeMatch = $e->getRouteMatch();
            $controller = $routeMatch->getParam('controller');
            $action    = $routeMatch->getParam('action');
            if($controller == 'zfcuser' && $action == 'login'){
                $e->getViewModel()->setTemplate('layout/layout2');
            }
        });

    }
 

scorpion-ds

Новичок
По последнему вопросу пошел по пути отлавливания маршрутизации, как ты написал, это решает данный вопрос, но предполагаю, что следующим мой вопрос будет как все же отловить события работы данного форума, к примеру факт успешно/не успешной авторизации, к примеру для отчетов о попытках входа.
 

scorpion-ds

Новичок
У меня есть View Helper который выводит меню пользователя (приветствие, ссылка на профиль, ссылка на выход и т.п.), но я не пойму каким образом мне обратиться из моего помощника к состоянию авторизации, к примеру в контроллерах это делается через "$this->zfcUserAuthentication()". Я пробовал различные варианты через сервисы, но у меня ни как не получалось.

Подскажите, каким образом это можно сделать?
 

WMix

герр M:)ller
Партнер клуба

scorpion-ds

Новичок
Спасибо, третья ссылка помогла, я просто неправильно вызывал нужный мне сервис.
 
Сверху