在两个或多个模块的视图之间执行合并
Perform merge between views of two or more modules
我有一个 Phalcon PHP 模块化应用程序。我正在制作一个管理界面来控制系统中应该使用哪些模块。
一个模块控制应用程序的默认界面,而其他模块添加功能。
我遇到的问题:启用另一个模块时,它可以将HTML内容添加到另一个界面控制模块。通过这种方式,我想合并两个或多个视图。我正在使用 Volt 作为模板引擎。
这在 Phalcon 中可行吗?
注意: 这是在官方 Phalcon 论坛上提出的。我在那里回答了它,它被接受了。我只是复制我的回答,这样未来的读者就可以在此处获得答案,而无需从 Whosebug 重定向。 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
然后,在您的控制器中,您可以设置一个视图 属性 来像这样存储活动模块;
$this->view->modules_enabled = $this->di->get("config")->modules;
*.volt
最后在您的伏特文件中,只需检查模块是否在包含活动模块的数组中,如果是,使用 partials 显示视图。
{% if module01 in modules_enabled %}
<div id="module">{{ partial("partials/module01") }}</div>
{% endif %}
我有一个 Phalcon PHP 模块化应用程序。我正在制作一个管理界面来控制系统中应该使用哪些模块。 一个模块控制应用程序的默认界面,而其他模块添加功能。
我遇到的问题:启用另一个模块时,它可以将HTML内容添加到另一个界面控制模块。通过这种方式,我想合并两个或多个视图。我正在使用 Volt 作为模板引擎。
这在 Phalcon 中可行吗?
注意: 这是在官方 Phalcon 论坛上提出的。我在那里回答了它,它被接受了。我只是复制我的回答,这样未来的读者就可以在此处获得答案,而无需从 Whosebug 重定向。 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
然后,在您的控制器中,您可以设置一个视图 属性 来像这样存储活动模块;
$this->view->modules_enabled = $this->di->get("config")->modules;
*.volt
最后在您的伏特文件中,只需检查模块是否在包含活动模块的数组中,如果是,使用 partials 显示视图。
{% if module01 in modules_enabled %}
<div id="module">{{ partial("partials/module01") }}</div>
{% endif %}