ZF3 - использование частичного извне каталога модуля - PullRequest
0 голосов
/ 05 июля 2018

Я создаю приложение на основе ZF3 со своей собственной библиотекой, которая содержит базовые компоненты для включения в другие проекты. Библиотека основана на композиторе, поэтому дерево приложений выглядит так:

- module
-- Application
--- src
---- view
----- index.phtml (where I want to include partial from base)
- vendor
-- myBaseScripts (installed via composer)
--- partials
---- myTablePartial.phtml (partial to include)

Могу ли я включить частичное, которое находится не внутри модуля / приложения / представления , а внутри vendor / myBaseScripts / partials ?

1 Ответ

0 голосов
/ 13 июля 2018

Конечно. Тем не менее, вам рекомендуется убедиться, что создаваемый вами модуль содержит представление по умолчанию.


Чтобы зарегистрировать частичное представление, используйте конфигурацию модуля, например так:

'view_manager' => [
    'template_map' => [
        'name/of/partial/view' => __DIR__ . '/../path/relative/to/config/file/view-partial.phtml',
    ],
],

Убедитесь, что ваш модуль содержит что-то похожее на приведенное выше.

Затем вы используете это в таком виде:

<?= $this->partial('name/of/partial/view', ['param1' => 'value1']) ?>

$this->partial является ViewHelper . Первый аргумент, который он принимает, это какой частичный загрузить (по имени!). Второй параметр - необязательный массив, который содержит пары ключ / значение для данных.


Чтобы перезаписать частичное, например частичное значение модуля по умолчанию, пользовательским в другом модуле, необходимо перезаписать значение пары ключ / значение в конфигурации.

Этот модуль с измененным частичным, должен быть загружен после «оригинального» * ​​1023 *. Это необходимо для того, чтобы конфигурация была перезаписана в том порядке, в котором вы ожидаете.

Предполагая, что приведенный выше код находится в вашем исходном модуле, вы сделаете следующее в другом модуле:

'view_manager' => [
    'template_map' => [
        'name/of/partial/view' => __DIR__ . '/../path/relative/to/config/file/this-is-a-custom-partial.phtml',
    ],
],

Как вы можете видеть, имя остается прежним.

Счастливого кодирования.

...