我有一个Phalcon PHP模块化应用程序。我正在建立一个管理界面来控制应该在系统中使用哪些模块。 一个模块控制应用程序的默认界面,而其他模块添加功能。
我有问题:当另一个模块启用时,它可以将HTML内容添加到其他接口控制模块。通过这种方式,我想合并两个或多个视图。我使用Volt作为模板引擎。
Phalcon有可能吗?
答案 0 :(得分:1)
注意:这是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;
<强> *。伏特强>
最后在你的伏特文件中,只需检查模块是否在包含活动模块的阵列中,如果是,则使用partials显示视图。
{% if module01 in modules_enabled %}
<div id="module">{{ partial("partials/module01") }}</div>
{% endif %}