【问题标题】:Best way to extend a module in zend framework 2在 zend 框架 2 中扩展模块的最佳方法
【发布时间】:2014-06-11 15:22:32
【问题描述】:

扩展 zend 框架 2 模块的最佳方法是什么。
例如,我想更改 zfcuser 中的注册页面视图,我将 zfcuser 模块从供应商克隆到模块文件夹并更改了视图文件,但 Zend Framework 2 使用供应商文件夹一,如果我删除供应商中的 zfcuser 文件夹,它可以正常工作,但同时有两个模块使用供应商版本

【问题讨论】:

    标签: module zend-framework2


    【解决方案1】:

    您不必克隆模块。您可以在自己模块的视图文件夹中创建一个 zfc-user/user 文件夹。然后将您自己的 register.phtml 放在该文件夹中。只需确保 ZfcUser 包含在您自己的自定义模块之前,然后应该加载您自己的自定义视图。

    编辑:这是有关此主题的官方文档的链接:ZfcUser custom view scripts

    【讨论】:

    • 我知道,但是我认为将这些编辑过的文件放在另一个模块文件夹中是违反软件工程的
    • 实际上从这个角度来看它更好,因为您正在重新使用所有基本的 zfc-user 功能,并且只需在您自己的自定义模块中覆盖您想要覆盖的内容。这样,您可以在将来更新可用时轻松更新 zfc-user。从软件工程的角度来看,克隆模块并更改核心实际上是一件坏事。
    • 我只想要克隆文件夹中的扩展文件而不是整个文件
    • 不知道你想做什么。您只是想覆盖视图还是其他类型的类?
    • 只是覆盖视图
    【解决方案2】:

    如果您只想覆盖模板文件,只需覆盖 Modul 目录中的 module.config.php

    'view_manager' => array(
        'template_path_stack' => array(
            'zfcuser' => __DIR__ . '/../view',
        ),
    ),
    

    在您的视图目录中添加一个名为 zfc-user 的文件夹并添加一个 register.phtml 文件。在该模板文件中随意更改您想要的任何内容,只要记住您仍然必须保持表单操作不变。

    【讨论】:

    • 您的意思是在 vendor 文件夹或 modules 文件夹中编辑 zfcuser ?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-07
    • 1970-01-01
    • 2014-07-19
    • 1970-01-01
    相关资源
    最近更新 更多