달성해야 할 일은 내 모델의 데이터베이스에서 일부 데이터를 추출하여 레이아웃으로 전송하는 것입니다. 여기서 내 기본 메뉴가 있습니다. 그 값을 모델에서 얻은 값을 변경 한 후에 그 메뉴를 변경하고 싶습니다. 이 클래스 모듈의 내용이다 :Zend 2의 모델에서 레이아웃으로 매개 변수를 전달하는 방법은 무엇입니까?
일부는 말했다namespace Application;
use Zend\Mvc\ModuleRouteListener;
use Zend\Mvc\MvcEvent;
class Module
{
public function onBootstrap(MvcEvent $e)
{
$eventManager = $e->getApplication()->getEventManager();
$moduleRouteListener = new ModuleRouteListener();
$moduleRouteListener->attach($eventManager);
// $serviceManager = $e->getApplication()->getServiceManager();
$viewModel = $e->getApplication()->getMvcEvent()->getViewModel();
//$x = new UserController();
// $var = $x->getUserSession();
// $viewModel->someVar = $var;
}
public function getConfig()
{
return include __DIR__ . '/config/module.config.php';
}
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
),
),
);
}
public function getServiceConfig() {
return array(
'factories' => array(
'Application\Model\UsersTable' => function($sm) {
$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
$table = new Model\UsersTable($dbAdapter);
return $table;
},
),
);
}
}
, 나는 도우미를 사용 할 수 있습니다, 다른 하나는 내가 onBootstrap 기능을 수정해야했다. 정말이 모든 일에 내 머리가 엉망입니다. 어떻게 작동하게 만들 수 있습니까? 당신은 다음과 같은 작업을 수행 할 수 들으
당신이 당신의 탐색에 첨부 할 일에 대해 더 구체적으로 설명해주십시오
Module Manager Listeners
The MvcEvent
. 나는 당신이 언급 한 예제 (헬퍼 또는 onBootstrap에 주입하기를 원하지 않는다는 것을 짐작할 뿐이다. 마지막으로 경량이어야하므로 db로부터 아무것도 붙이지 않는 것이 좋다). 나는 당신이 기본 네비게이션 클래스를 확장하고 싶다고 생각한다. :) 그러나 내가 말했듯이, 당신은 더 구체적으로 당신의 케이스를 기술해야한다. –