0

我有一个 Phalcon PHP 模块化应用程序。我正在制作一个管理界面来控制系统中应该使用哪些模块。一个模块控制应用程序的默认界面,而其他模块添加功能。

我有一个问题:当另一个模块启用时,它可以将HTML内容添加到另一个界面控制模块。通过这种方式,我想合并两个或多个视图。我使用 Volt 作为模板引擎。

这在 Phalcon 中可能吗?

4

1 回答 1

1

注意:这是在 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 %}
于 2017-04-10T15:27:11.483 回答