TYPO3中addModule和registerModule的区别

Syb*_*ers 6 typo3 extbase

TYPO3 中有 2 个函数似乎或多或少具有相同的功能:

  1. 扩展管理实用程序::addModule

    /**
    * Adds a module (main or sub) to the backend interface
    * FOR USE IN ext_tables.php FILES
    
    Run Code Online (Sandbox Code Playgroud)

  1. 扩展实用程序::registerModule

    /**
    * Registers an Extbase module (main or sub) to the backend interface.
    * FOR USE IN ext_tables.php FILES
    
    Run Code Online (Sandbox Code Playgroud)

因此,根据评论,它们基本上做同样的事情,但一个注册,一个添加,其中一个是Extbase模块。我已经在网上看到过示例,并且看到 TYPO3 扩展使用了其中一种或另一种方法。

应使用以下哪种方法来创建 TYPO3 后端模块?有什么区别?


我可以只使用一种或其他方法,但我想获得有关这些一般事物的更多指导以及未来的最佳实践是什么。

显而易见的答案可能是,如果您使用 Extbase,则使用 registerModule,如果没有,则使用 addModule。好的,但是为什么核心在某些情况下这样做,而在其他情况下又这样做呢?

另一个明显的答案是 registerModule 调用 addModule。


另请参阅此评论

fro*_*ken 8

使用 addModule,您只需将新模块添加到左侧导航栏中。

使用registerModule,您可以对extbase 进行一些预配置。看一下代码,所有控制器->动作组合都将被全局注册。将设置供应商,请查看最后一行:它从上面调用 addModule。