我安装了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中的代码重新分配到自己的扩展中。任何形式的资源或建议都是有用的。
答案 0 :(得分:1)
在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文件(以及其他需要公开提供给Web请求的内容)移动到Resources/Public/CSS
,分别为。您的扩展程序中Resources/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中的良好做法。
答案 1 :(得分:0)
@Daniel 展示了如何将模板移动到扩展程序,这非常有效,特别是如果您打算创建一些自定义插件和/或自己的模型/记录。
另一方面,您不需要将其移动到扩展中以避免非开发人员操纵它。如果你没有计划自定义插件,那么它就没那么深刻了。
最快的解决方法是将文件移到fileadmin
之外,它可以用于实例typo3conf/templates/
,在这种情况下,您的TS将如下所示:
page.10 {
file = typo3conf/templates/test.html
}
或您需要的任何其他文件夹结构
请记住通过添加内容包含Private
文件来阻止对TypoScript
或.htaccess
文件夹的访问:
# 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
记录,并且只允许从文件> < strong>模块,在这种情况下,您将能够从BE替换某些背景图像,但编辑者只能访问fileadmin
。如果您打算将模板文件保存在某些版本控制系统(如GIT)下,请跳过此选项,否则很快就会出现合并冲突。
答案 2 :(得分:0)
您是否希望将typoscript /配置文件移动到您自己的扩展文件夹以进行网站模板化。是的,您可以使用extension_builder创建自己的扩展程序,但请尝试使用。
这里是你需要的模板:(听起来有点大;)确保给你好/易和易于管理的模板)
@ fluidbootstraptheme的文件夹结构:
@ uses:
@有用的链接:
@不要忘记插入statik模板
感谢NamelessCoder Claus:)