Подтвердить что ты не робот

Как Zend Framework 2 делает частичные части внутри модуля?

У меня есть что-то вроде этого для моей структуры каталогов внутри модуля:

Api
├── Module.php
├── config
│   └── module.config.php
├── src
│   └── ( ..etc ..)
└── view
    ├── api
    │   └── api
    │       └── index.phtml
    └── partial
            └── test.phtml

Затем я делаю это:

<?= $this->partial('partial/test.pthml', array()); ?>

Однако я получаю:

05-Jun-2012 14:56:58] PHP Неустранимая ошибка: исключение для исключения 'Zend\View\Exception\RuntimeException' с сообщением 'Zend\View\Renderer\PhpRenderer:: render: невозможно отобразить шаблон "Частичный/test.pthml"; resolver не может разрешить файл 'в /Users/jeff/web/n/vendor/zendframework/zendframework/library/Zend/View/Renderer/PhpRenderer.php:463

Где мои партикулы идут?

4b9b3361

Ответ 1

это может быть достигнуто с помощью

 echo $this->partial('layout/header', array('vr' => 'zf2'));

вы можете получить доступ к рассматриваемой переменной с помощью

echo $this->vr;

не забудьте добавить следующую строку в свой view_manager файла module.config.php.

'layout/header'           => __DIR__ . '/../view/layout/header.phtml',  

после добавления выглядит так:

return array(  

'view_manager' => array(
        'template_path_stack' => array(
            'user' => __DIR__ . '/../view' ,
        ),
        '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',

            'layout/header'           => __DIR__ . '/../view/layout/header.phtml',            

            'error/404'               => __DIR__ . '/../view/error/404.phtml',
            'error/index'             => __DIR__ . '/../view/error/index.phtml',
        ),


    ),    

);