それは私のために働いています。Module.php ファイルでビュー ヘルパーを次のように構成します。
//module/src/module/View/Helper/Authz.php // ヘルパーを表示
use Zend\View\Helper\AbstractHelper;
class Authz extends AbstractHelper
{
public function isAllowed()
{
}
}
.
//Module.php
public function bootstrap(Event $e)
{
}
public function onBootstrap($e)
{
$app = $e->getApplication();
$serviceManager = $app->getServiceManager();
$serviceManager->get('viewhelpermanager')->setFactory('Authz', function ($sm) use ($e) {
return new Authz($sm); //view helper
});
}
// 部分的 // view/layout/partials/leftnav.phtml
$userAllow = $this->Authz()->isAllowed();
// レイアウトでは、上記の leftnav.phtml 部分を次のように呼び出します。//view/layout/layout.phtml
<?php echo $this->partial('partials/header', array('company_name' => 'CompanyName')); ?>
// config/module.config.php
'view_manager' => array(
'template_path_stack' => array(
'modulename' => __DIR__ . '/../view' ,
),
'strategies' => array(
'ViewJsonStrategy',
),
'display_not_found_reason' => true,
'display_exceptions' => true,
'doctype' => 'HTML5',
'not_found_template' => 'error/404',
'exception_template' => 'error/index',
'template_map' => array(
'layout/layout' => __DIR__ . '/../view/layout/layout.phtml',
'partials/header' => __DIR__ . '/../view/layout/partials/header.phtml',
'partials/leftnav' => __DIR__ . '/../view/layout/partials/leftnav.phtml',
'partials/contents-top' => __DIR__ . '/../view/layout/partials/contents-top.phtml',
'error/404' => __DIR__ . '/../view/error/404.phtml',
'error/index' => __DIR__ . '/../view/error/index.phtml',
),
),