TYPO3 CMS 9.5.5 最简单的扩展

TYPO3 CMS 9.5.5 most simple extension

我必须为 9.5.5 版创建一个简单的 TYPO3 扩展。

我从 https://bitnami.com/stack/typo3

安装了 TYPO3 CMS 9.5.5

在最新的文档中 (9-dev) https://docs.typo3.org/typo3cms/CoreApiReference/ExtensionArchitecture/FilesAndLocations/Index.html 他们说 "usually located in typo3conf/ext for local extensions, or typo3/sysext for system extensions."

我没有 "typo3conf/ext",没有 "typo3conf" 和 "typo3/ext"。是的,有一个 "typo3/sysext".

我还没有找到考虑到这一事实的在线指南。

然后我读到“...有一个工具可以使它更容易启动。它称为扩展生成器”( https://docs.typo3.org/typo3cms/CoreApiReference/ExtensionArchitecture/CreateNewExtension/Index.html )

因此我安装了这个 "Extension Builder" 通过 https://extensions.typo3.org/extension/extension_builder/

的 Zip
  1. 下载 ZIP 文件
  2. 登录您的 TYPO3 后端
  3. 转到扩展管理器模块
  4. 按顶部栏上的上传按钮
  5. Select ZIP 文件并上传。

对我来说,它看起来与文档中的非常不同:

然后我读了 "Docs » Creating a first extension » Create Folder Structure And Configuration Files" (https://docs.typo3.org/typo3cms/ExtbaseFluidBook/4-FirstExtension/2-create-folder-structure-and-configuration-files.html)

他们在那里谈论"unique identifier of our extension"。这是什么? "as store_inventory"。这是什么?

无论如何。

和"These are in the folder typo3conf/ext/"

但是这个文件夹在我的安装中不存在。

几天后我查看了另一台计算机的安装,也没有这个文件夹。

无论如何。

然后我创建了 "typo3conf/ext/store_inventory"(如那里所述)。

然后我想知道以下公式:

"The name of this folder must be written like the extension key" 所以这个文件夹可能必须使用不同的名称?

然后我在同一页找到了这个文件夹结构:

https://docs.typo3.org/typo3cms/ExtbaseFluidBook/_images/figure-4-1.png

我很想知道文件夹和文件的数量。

我只是想做一个只列出文件的简单扩展。

我以为那是几行源代码。

是不是更简单了?

我不需要所有这些东西,例如。 ext_icon.gif。我希望我不需要手动创建所有文件和文件夹。

这里有一些答案:

扩展键是 "typo3conf/ext" 中您的文件夹的名称。我建议不要使用下划线,因为它可能会让你以后作为 TYPO3 的初学者感到困惑。选择一个简单而简短的名称。为确保名称不可用,请检查 "extensions.typo3.org" 以查看密钥(扩展名)是否已被使用。如果您想百分百确定,您必须在那里注册一个帐户并正式注册扩展密钥。当然这都是免费的。

文件 ext_icon.gif 确实不是必需的,但当您的扩展显示在 TYPO3 的扩展管理器的扩展列表中时看起来不错。

你说你想"list files"。我猜你说的是你的 fileadmin 文件夹中已经有的静态文件,比如图像等?

所以在这种情况下,您需要一个像这样的最小文件夹结构:

store_inventory
    Classes
        Controller
            StoreController.php (Contains PHP function "filesList")
    Configuration
        TypoScript
    Resources
        Private
            Templates
                Files.html (Contains HTML/Fluid-Code for Frontend)
    ext_emconf.php (Contains necessary information about your Ext.)
    ext_localconf.php (Contains registration of Frontend-Plugin/Controller)

更详细的答案需要有关您的扩展的确切要求的更多信息。以下是我认为您可能需要此项目的更多链接:

ext_emconf.php https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ExtensionArchitecture/DeclarationFile/Index.html#

ext_localconf.php https://docs.typo3.org/m/typo3/book-extbasefluid/master/en-us/4-FirstExtension/7-configuring-the-plugin.html

控制器和动作: https://docs.typo3.org/m/typo3/book-extbasefluid/master/en-us/7-Controllers/1-Creating-Controllers-and-Actions.html

您的控制器需要调用一个函数,例如 "fileAction" 并且此 "Action" 的模板文件必须命名为 "File.html" 才能工作。如果您将操作命名为 "fileListAction",您的模板文件必须命名为 "FileList.html" 等等...

还有一些其他的小事需要考虑,但我对你的具体要求还不够了解。如果您有任何问题,请不要犹豫,提出更多问题!

我知道,TYPO3 可能会令人沮丧。我已经这样做了几十年 ;)

祝你好运