Zend Framework 2 – Как включить частичную библиотеку

Я написал часть, которую я хочу использовать в нескольких модулях. Я думал, что лучший способ – поместить его в свою собственную библиотеку.

Но, к сожалению, я не мог понять, как включить это частичное без использования очень уродливого пути, например:

echo $this->partial('/../../../../vendor/myvendor/library/MyVendor/View/Views/FormPartial.phtml' , array(...)); 

Любые идеи о том, как связать мой каталог с моим представлением?

Solutions Collecting From Web of "Zend Framework 2 – Как включить частичную библиотеку"

Проблема заключается в том, что resolver не может разрешить путь к шаблону вида, который вы предоставили. Обычно я добавляю запись конфигурации для всех доступных партикулов в записи template_map в файле module.config.php

например, у меня есть частицы верхнего и нижнего колонтитулов, такие как my view / layout / header.phtml и view / layout / footer.phtml

ниже моя конфигурация

 'template_map' => array( 'layout/layout' => __DIR__ . '/../view/layout/layout.phtml', 'header' => __DIR__ . '/../view/layout/header.phtml', 'footer' => __DIR__ . '/../view/layout/footer.phtml', 'error/404' => __DIR__ . '/../view/error/404.phtml', 'error/index' => __DIR__ . '/../view/error/index.phtml', ), 

и внутри моего сценария просмотра макета я просто поставил

 <?php echo $this->partial('header'); ?> 

а также

 <?php echo $this->partial('footer'); ?> 

Другое, если у вас есть частичные части в разделе / ​​module / controller / action format, вы также можете сделать

 <?php echo $this->partial('/module/controller/action'); ?> 

вы должны поместить сценарий вида в папку просмотра папки контроллера вашего модуля