【问题标题】:Perform merge between views of two or more modules在两个或多个模块的视图之间执行合并
【发布时间】:2017-04-05 11:49:06
【问题描述】:

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

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

这在 Phalcon 中可行吗?

【问题讨论】:

    标签: php phalcon volt modularization


    【解决方案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

    然后,在您的控制器中,您将设置一个视图属性来存储活动模块,如下所示;

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

    *.volt

    最后在您的 volt 文件中,只需检查模块是否在包含活动模块的阵列中,如果是,则使用 partials 显示视图。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-02
      • 1970-01-01
      • 1970-01-01
      • 2014-05-31
      • 1970-01-01
      • 2013-06-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多