TYPO3 将站点从 fileadmin 移动到自己的扩展名

TYPO3 move site from fileadmin into an own extension

我安装了 TYPO3 7.6.2 版。我在 fileadmin/site/template/test.html 和 test.css.

下的 fileadmin 中有一个 test.html 和一个 test.css 文件

现在作为模板,我在类别设置下有这个:

page >

page = PAGE
page.10 = FLUIDTEMPLATE
page.10 {
file = fileadmin/site/template/test.html
}

config.no_cache = 1
config.contentObjectExceptionHandler = 0

这一切都按预期工作。

但我听说将您自己的文件与 fileadmin 分开是可能的并且是可取的,fileadmin 是为用户文件设计的。我听说可以将它们分解为自己的扩展。现在我的问题是如何?我完成了关于如何构建自己的第一个扩展的基本教程,但我仍然不清楚如何将 test.html 和 test.css 中的代码重构为自己的扩展。任何类型的资源或建议都会有用。

typo3conf/ext 中使用您的扩展名应具有的名称创建一个文件夹。创建一个 ext_emconf.php(从另一个扩展复制并更改值)以便 TYPO3 可以安装它。

将您的模板文件从 fileadmin 移至扩展程序中的 Resources/Private/Templates/Page/Test.html。这可以是您扩展中的任何其他地方,但我建议遵循一些结构化约定。

现在将 TypoScript 更改为

file = EXT:your_extension_name/Resources/Private/Templates/Page/Test.html

分别将 CSS 和 JS 文件(以及需要公开供网络请求使用的所有其他内容)移至 Resources/Public/CSSResources/Public/JavaScript 在您的分机中。在您的 TypoScript 中包含具有相同语法 (EXT:my_extension_name/Resources/Public/...) 的文件。

您还应该考虑将您的 TypoScript 移动到扩展程序中的 Configuration/TypoScript/setup.txt。然后将其包含在

<INCLUDE_TYPOSCRIPT source:'FILE:EXT:my_extension_name/Configuration/TypoScript/setup.txt'>

在后端。

别忘了安装你的扩展:)

您可以在 TYPO3 扩展中阅读更多关于良好实践的信息 here

@Daniel 展示了如何将模板移动到扩展,这是完全有效的,特别是如果您打算创建一些自定义插件 and/or 自己的 models/records。

另一方面,您不需要将其移动到扩展中以避免被非开发人员操纵。如果您不计划自定义插件,它就没有更深的意义。

最快的解决方法是将文件从 fileadmin 中移开,例如 typo3conf/templates/,在这种情况下,您的 TS 将如下所示:

page.10 {
    file = typo3conf/templates/test.html
}

或您需要的任何其他文件夹结构

请记住通过添加内容为 .htaccess 的文件来阻止对 PrivateTypoScript 文件夹的访问:

# Apache < 2.3
<IfModule !mod_authz_core.c>
    Order allow,deny
    Deny from all
    Satisfy All
</IfModule>

# Apache >= 2.3
<IfModule mod_authz_core.c>
    Require all denied
</IfModule>

您还可以选择在 page-zero 上创建额外的 File Storage 记录指向这个新文件夹,并只允许来自 Files 模块,在这种情况下,您将能够从 BE 中替换一些背景图像,但编辑者将只能访问 fileadmin。如果您打算将模板文件保留在某些版本控制系统下,请跳过此选项,例如 GIT,否则您很快就会遇到合并冲突。

您可能想将 typoscript/configuration 文件移动到您自己的扩展文件夹以用于站点模板化。是的,您可以使用 extension_builder 创建自己的扩展,但请尝试 flux。

这是您的模板所需的清单:(清单有点大;)当然会给您 good/easy 和易于管理的模板)

@fluidbootstraptheme的文件夹结构:

  • Configuration/TypoScript [打字错误的地方,不要忘记包含在 setup.txt 中,如果常量则包含在 constants.txt]
  • Resources/Public [css、js、图像、字体的位置]
  • Resources/Private/Templates/Page [您在问题中提到的页面模板的位置 test.html]
  • Resources/Private/Templates/Content [放置您的自定义内容 element/FCE]
  • Resources/Private/Partials [在这里您可以为您的页面创建自己的 Header.html 和 Footer.html 文件]

@ 使用:

@有用的链接:

@不要忘记插入 statik 模板

感谢 NamelessCoder Claus :)