Выполнить слияние между представлениями двух или более модулей

У меня есть PHP модульное приложение Phalcon. Я делаю административный интерфейс для контроля, какие модули должны использоваться в системе.
Один модуль управляет интерфейсом приложения по умолчанию, в то время как другие модули добавляют функциональные возможности.

У меня проблема: когда другой модуль включен, он может добавить содержимое HTML в другой модуль управления интерфейсом. Таким образом, я хотел бы объединить два или более видов. Я использую Volt как шаблонный движок.

Это возможно в Phalcon?

0

Решение


Замечания: Об этом спрашивали на официальных форумах Phalcon. Я ответил на это там, и это было принято. Я просто отражаю свой ответ, чтобы будущие читатели могли получить ответ здесь без перенаправления из StackOverflow. Зеркало форума Phalcon: https://forum.phalconphp.com/discussion/15891/perform-merge-between-views-of-two-or-more-modules


config.php

Вам нужно будет определить ваши модули в app/config/config.php файл вроде так;

return new \Phalcon\Config([
// ...
'modules' => [
'module01',
'module02',
...
'moduleN',
],
// ...
]);

* controller.php

Затем в вашем контроллере вы устанавливаете свойство view для хранения активных модулей следующим образом;

$this->view->modules_enabled = $this->di->get("config")->modules;

* .volt

И, наконец, в файле VOLT просто проверьте, что модуль находится в массиве, содержащем активные модули, и, если это так, отобразите представление с помощью обертоны.

{% if module01 in modules_enabled %}
<div id="module">{{ partial("partials/module01") }}</div>
{% endif %}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]