我有一个 Phalcon PHP 模块化应用程序。我正在制作一个管理界面来控制系统中应该使用哪些模块。一个模块控制应用程序的默认界面,而其他模块添加功能。
我有一个问题:当另一个模块启用时,它可以将HTML内容添加到另一个界面控制模块。通过这种方式,我想合并两个或多个视图。我使用 Volt 作为模板引擎。
这在 Phalcon 中可能吗?
我有一个 Phalcon PHP 模块化应用程序。我正在制作一个管理界面来控制系统中应该使用哪些模块。一个模块控制应用程序的默认界面,而其他模块添加功能。
我有一个问题:当另一个模块启用时,它可以将HTML内容添加到另一个界面控制模块。通过这种方式,我想合并两个或多个视图。我使用 Volt 作为模板引擎。
这在 Phalcon 中可能吗?
注意:这是在 Phalcon 官方论坛上提出的。我在那里回答了它,它被接受了。我只是在反映我的答案,以便未来的读者可以在这里得到答案,而无需从 StackOverflow 重定向。Phalcon 论坛镜像:https ://forum.phalconphp.com/discussion/15891/perform-merge-between-views-of-two-or-more-modules
配置文件
您需要app/config/config.php
像这样在文件中定义您的模块;
return new \Phalcon\Config([
// ...
'modules' => [
'module01',
'module02',
...
'moduleN',
],
// ...
]);
*控制器.php
然后,在您的控制器中,您将设置一个视图属性来存储活动模块,如下所示;
$this->view->modules_enabled = $this->di->get("config")->modules;
*。伏特
最后在您的 volt 文件中,只需检查模块是否在包含活动模块的数组中,如果是,则使用partials显示视图。
{% if module01 in modules_enabled %}
<div id="module">{{ partial("partials/module01") }}</div>
{% endif %}