我是TYPO3中的新手(我来自Joomla和WordPress),我很难理解TYPO3中模板的处理方式(在我看来,TYPO3中的情况比Joomla和WordPress中的情况更复杂).
我安装了,我正在测试这个版本的TYPO3 introductionpackage-6.1.3.zip
在Joomla和WordPress中,模板只是一个HTML结构(在页面的各个区域中标记将放置CMS模块)和相关的CSS设置.
在TYPO3中,在我看来情况非常不同或者我错了吗?
目前我正在阅读引用TYPO3简介包的默认模板的官方文档的这一部分:http://docs.typo3.org/typo3cms/GettingStartedTutorial/Templates/Index.html
使用CMS创建的网站的静态内容和动态内容之间的区别对我来说非常清楚(这与其他任何CMS如Joomla或WP没有什么不同)
动态内容:由CMS(执行一些查询)动态创建的菜单(它查看数据库表,然后脚本呈现页面上的菜单)
静态内容:固定为网站标题或背景图像
到目前为止,我认为这对我来说非常清楚,但是当文档将模板记录作为实现先前原则的一种方式时,我有很多疑问.
这里:http://docs.typo3.org/typo3cms/GettingStartedTutorial/Templates/%28%28generated%29%29/Index.html
它说:
这是一个控制元素,它指示TYPO3如何处理页面树的某个分支.
特别是对于此图像,它显示了如何修改介绍包模板的这些模板记录(介绍包也是随此包提供的模板的名称或什么?):

然后在文档的这一部分上说:
如果您编辑模板"简介包",您将看到大多数字段为空.对于每个网站,您需要在ROOT级别上使用TypoScript模板,在本例中为"简介包"模板.网站的TypoScript配置可能很长,因此可以制作许多包含在主模板中的小型TypoScript模板.为了更好的维护,简介包的所有TypoScript都已放入"Typoscript模板"文件夹中."简介包"模板唯一做的就是包含"ROOT"模板,该模板又包含其他模板.
对我来说这完全是模糊的:我已经明白TypoScript是一种可用于配置前端的配置语言(所以我认为我可以使用它来配置我的页面将如何显示)但我无法理解以下内容声明:
这意味着什么:对于每个网站,您需要ROOT级别的TypoScript模板,在这种情况下,这是"简介包"模板?我已经安装了TYPO3简介包,我只有一个网站!什么是网站的ROOT级别?是列表部分树中的欢迎使用TYPO3节点吗?所以在实践中我将一个特定的模板分配给一个网站的根目录,这是用在所有子节点(所有页面如Home,关于TYPO3,功能等)?
当它说: 为了更好的维护,简介包的所有TypoScript都被放入文件夹'Typoscript Templates'中.这个文件夹在哪里?我没有.
它说的意思是什么:"简介包"模板唯一能做的就是包含"ROOT"模板,而模板又包含其他模板.?
Tnx这么多
安德里亚
有没有办法在不使用页面typeNum的情况下在Extbase扩展中创建AJAX调用?
我新设置了TYPO3,但是当我尝试添加/保存内容时,它给了我这个错误:
SQL错误:'第1行''sys_language_uid'列的'不正确的整数值:''
我试图覆盖Fluid Styled Content元素,但它在最新的TYPO3版本8.7.0中根本不起作用.
我有一个模板扩展名(key:biv_main),我在其中添加了我的重写模板pathes:
lib {
fluidContent {
templateRootPaths {
30 = EXT:biv_main/Resources/Private/Content/fluid_styled_content/Templates/
}
partialRootPaths {
30 = EXT:biv_main/Resources/Private/Content/fluid_styled_content/Partials/
}
layoutRootPaths {
30 = EXT:biv_main/Resources/Private/Content/fluid_styled_content/Layouts/
}
}
}
Run Code Online (Sandbox Code Playgroud)
通过TS对象浏览器在后端的TypoScript看起来对我来说是正确的: 截图TypoScript对象浏览器 - lib.fluidcontent
我已经从sysext fluid_styled_content复制了整个模板,partial和layout文件夹及其中的每个文件,因此应该覆盖每个内容元素.
这是模板扩展中的文件夹结构:
biv_main
-- Resources
-- Private
-- Content
-- fluid_styled_content
-- Layouts
-- Partials
-- Templates
Run Code Online (Sandbox Code Playgroud)
在文件夹中的文件与sys-ext中的文件完全相同fluid_styled_content/Resources/Private /
Fluid Content Elements的静态typoscript模板在模板扩展名biv_main之前加载.
你有什么想法或线索有什么遗漏,为什么它不起作用?
如何轻松地将现有项目切换到作曲家?该项目现在从6.1更新到8.7,应该在composer中运行.新的作曲家设置不是问题.对于上一个项目,我创建了一个新主机,通过composer安装了TYPO3,通过composer安装了扩展,并迁移了db,fileadmin和uploads.有没有更简单的方法?
系统扩展form并ckeditor使用YAML作为配置语言,而不是在其他地方使用的TypoScript.
TypoScript会消失吗?
TYPO3 中有 2 个函数似乎或多或少具有相同的功能:
扩展管理实用程序::addModule
/**
* Adds a module (main or sub) to the backend interface
* FOR USE IN ext_tables.php FILES
Run Code Online (Sandbox Code Playgroud)扩展实用程序::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。
另请参阅此评论。
TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes()TYPO3 具有向记录的 BE 形式添加或替换一个或多个字段的功能。
我们如何删除字段?
(替换为''不起作用)
说明:它是关于仅在某些s
中隐藏某些字段。
过去我们通过覆盖完整值来做到这一点。但随着从 6.2LTS 升级到 8LTS,我们遇到了问题,因为默认标签已更改(语言文件的路径),因此一些标签在 BE 中丢失,这一点很晚才注意到。
现在我想要一种干净的方法来删除单个字段,以便剩余字段的定义与核心(或其他扩展)中的默认值保持干净。tt_contentCType
如果使用静态字符串设置值,则添加自己字段的其他扩展也会出现问题:这些字段也会被删除。
我在没有 Composer 的情况下运行了 TYPO3 v10.2。我正在创建一个扩展并希望将一些第三方 PHP 库包含到我的 Extbase 扩展中。我已经在 TYPO3 文档中阅读了那些应该放在其中的文档,Resources/Private/PHP/ThirdPartyLibrary但是我如何将它们包含在其中?是否仍然可以composer require或我应该只下载第三方库资源并在那里解压缩?如何在控制器或扩展中使用来自外部库的命名空间/类?没有 AND 与 composer 做到这一点的最佳方法是什么?想知道这两种方式。到目前为止,谢谢!
typo3 ×10
extbase ×3
typo3-8.x ×3
typoscript ×2
composer-php ×1
ddev ×1
php ×1
sql ×1
typo3-7.6.x ×1
yaml ×1