- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 TYPO3 很陌生(我来自 Joomla 和 WordPress),并且我很难理解 TYPO3 中如何处理模板(在我看来,TYPO3 中的情况比 Joomla 和 WordPress 中的情况更复杂) WordPress)。
我已经安装并正在测试此版本的 TYPO3 introductionpackage-6.1.3.zip
在 Joomla 和 WordPress 中,模板只是一个 HTML 结构(在放置 CMS 模块的页面的各个区域中进行标记)和相关的 CSS 设置。
在 TYPO3 中,我觉得情况非常不同,还是我错了?
此刻我正在阅读官方文档的这一部分,其中引用了TYPO3入门包的默认模板:http://docs.typo3.org/typo3cms/GettingStartedTutorial/Templates/Index.html
使用 CMS 创建的网站的静态内容和动态内容之间的区别对我来说非常清楚(这与 Joomla 或 WP 等任何其他 CMS 没有什么不同) )
动态内容:是由 CMS(执行一些查询)动态创建的菜单(它查看数据库表,然后脚本在页面上呈现菜单)
静态内容:是固定为网站标题或背景图片的内容
到目前为止,我认为这对我来说已经很清楚了,但是当文档谈到模板记录作为实现先前原则的一种方式时,我有很多疑问。
这里:http://docs.typo3.org/typo3cms/GettingStartedTutorial/Templates/%28%28generated%29%29/Index.html
它说:
This is a control element that instructs TYPO3 how to handle a certain branch of the page tree.
特别是这张图片显示了如何修改介绍包模板的这些模板记录(介绍包也是随此包提供的模板的名称还是什么?):
然后在文档的这一部分中它说:
If you edit the template "Introduction Package" you will see that most fields are empty. For each website you need a TypoScript template on the ROOT level, in this case that is the "Introduction Package" template. The TypoScript configuration of a website can be quite long therefore it is possible to make many small TypoScript templates that get included in the main template. For better maintenance, all TypoScript of the Introduction Package has been put into the folder 'Typoscript Templates'. The only thing the "Introduction Package" template does is to include the "ROOT" template that in turn includes other templates.
这对我来说完全晦涩难懂:我知道 TypoScript 是一种可用于配置前端的配置语言(所以我认为我可以使用它来配置我的页面的显示方式),但我不能理解以下断言:
这是什么意思:对于每个网站,您都需要一个 ROOT 级别的 TypoScript 模板,在本例中为“简介包”模板?我已经安装了 TYPO3 入门包,但我只有一个网站!网站的ROOT级别是多少?它是列表部分树中的Welcome to TYPO3 节点吗?因此,在实践中,我将一个特定的模板分配给网站的根目录,并在所有子节点中使用该模板(所有页面如“主页”、“关于 TYPO3”、“功能”等)?
这句话是什么意思:为了更好的维护,简介包中的所有 TypoScript 已放入“Typoscript Templates”文件夹中。这个文件夹在哪里?我没有。
这句话是什么意思:“简介包”模板所做的唯一事情就是包含“ROOT”模板,而“ROOT”模板又包含其他模板。?
Tnx 这么多
安德里亚
最佳答案
您网站的根级别是名为Home
的页面。它还具有地球仪而不是普通页面图标,因为在行为
下的页面属性中设置了用作根页面
标志。
当您访问 TYPO3 CMS 中的页面时,它将沿着根行向上移动,直到找到带有模板记录的根
页面。在本例中,它确实是一条名为Introduction Package
的记录,但更重要的是,这是一条template
类型的记录。
好的,到目前为止我们已经找到了适合您请求的模板。现在 TypoScript
开始发挥作用。在正常请求中,模板引擎将搜索名为 page
的对象,该对象(通常)类型为 PAGE
。因此最简单的模板是:
page = PAGE
page.10 = TEXT
page.10.value = <h1>Hello World</h1>
它只是在您的网站上打印Hello World
。
接下来发生的情况取决于您选择的模板方法(标记库、automaketemple+标记、templavoila、fluid、fedext,...)。这意味着TYPO3 CMS不仅仅只有一种模板方法(或一种模板),而且是可扩展的并且非常灵活,因为您可以将它们组合起来。
在简介包
中使用automaketemplate+markers
方法。这包括一个现成的 HTML 模板,根据某些规则自动创建 block ,然后用动态内容替换这些 block 。
好的,您在哪里可以找到此配置?实际的模板文件是 fileadmin/default/templates/introduction_package_site_struction_template.html
。TypoScript
配置位于 fileadmin/default/TypoScript
中。在那里您可以找到一个名为 setup.ts
的文件。它包括所有其他 TypoScript
文件。有各种文件夹,例如menu
用于菜单定义,block
用于动态 block 等。automaeketemplate
的配置位于Extension/AutomakeTemplate/setup.ts
中。
在 automaketemplate
的帮助下定义的部分将在 Page/setup.ts
中替换。
完整的TypoScript
定义了对象的树结构及其配置。您可以使用模板分析器
或在模板工具
中找到的TypoScript对象浏览器
查看完整的已解析模板code> 在模块顶部的下拉选择框中。
将 TypoScript
分成几个文件是根据文件内的配置目的来完成的。这是为了方便维护,而不是为了方便学习。您始终可以使用模板分析器
来查看从片段生成的完整模板,并使用TS对象浏览器
来查看这会产生什么样的配置树。
一开始这听起来可能有点困难,特别是与其他产品的原始模板系统相比,但是它为您提供了巨大的可能性,而且即使您进行重大更新,也易于维护。
关于content-management-system - 关于TYPO3模板系统的诸多疑问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18257976/
就在几周前,Google 更改了 Android LVL API(许可证验证库)。 在旧 LVL 中,许可证检查基于使用基于每个帐户生成的公钥/私钥进行的许可证验证。新的假设是对每个应用程序库使用公钥
我在代码中创建了下面的两个类,我不确定我是否以正确的 oop 方式创建了它。我将几何类和顶点设置为两个不同的类,或者它们可以是一个父亲和一个 child ,这很好吗?另一个问题是当我调用几何显示方法时
我正在尝试使用 POST 将变量从 try.htm 传递到 chat.php try.htm 的代码是: function yo() { var text = $("#m
我从未使用过代码源控制系统,我从 GitHub 开始,它看起来很棒! 我阅读了指南,我想我可以很好地理解它是如何工作的,而且我已经在使用它了,但我不清楚一些事情:GitHub 是否会自动将原始存储库中
我有这个函数insert() 该函数在表users中插入数据并发送电子邮件。 我需要在创建另一个状态之前终止前一个状态,对吗?因此,我需要将激活链接存储在另一个表中,即 activationLinks
目前正在为差异模块使用带有差异模式的 postgres。现在我计划切换到 oracle。但我听说在 oracle 模式中不存在..是真的吗..如果是这样我该如何迁移? 最佳答案 在 Oracle 中,
我有以下父对象: Context = { ContextModel: Backbone.Model.extend({ //model Code }), ContextLi
在 C++ 中,我了解到变量用于数据存储,对象是类的实例。但在 JavaScript 中,我看到人们将变量称为对象。为什么变量在 JavaScript 中被称为对象。我对此感到困惑。 最佳答案 在 j
我正在浏览有关 Play 的帖子! framework 并遇到了一些讨论 ecommerce 的帖子。由于我是两者的初学者,我想做一个练习。我写下了一些用例和一些要求如下。我会想听听您对此的看法,希望
人们说 asList方法将数组转换为列表并且不复制,因此“aList”中的每个更改都会反射(reflect)到“a”中。因此,在“aList”中添加新值是非法的,因为数组的大小是固定的。 但是,asL
我决定使用 React-Router 来管理使用 REACT JS 的 Meteor JS 应用程序的路由。 我已经让 React-Router “以某种方式”工作,但它有一些负面影响,我想在这里解释
Class Carro { String name String marca String matricula } Class CarroMovel{ String pro1 String prop2
我对如何设置我的 SVN 东西有一些疑问。 首先是我的情况:程序员独自处理大部分内容,不需要外部访问(目前)。 我要: 一个快速的 SVN,最好是免费的。 私有(private) 备份友好 比较轻松
我正在用 MVVM 做我的第一个 C# WPF 项目,我有几个问题。 第一,我想从我的模型中列出一些对象,当我点击其中一个时,屏幕上会显示一个表单(或默认情况下创建的表单)。在我的表单中,绑定(bin
我对mysql有疑问。我可以轻松地将字段限制为某些字符,例如姓氏,以及其他字段,例如包含特定事件的迷你日志,我认为该事件不再是 2 页(或更少的字符)。我知道这是一个相当常见的问题,我看到了很多关于这
我正在尝试实现 HDLC 帧格式类型 3,但我对帧的 Octets/Modulo 8 编码有一些疑问。 首先,HDLC帧是否全部以Octets传输? 一个帧的长度是 'n' 个八位字节是什么意思?请举
我正在开发一个 ASP.Net 电子商务应用程序。我使用 ASP.Net Web 表单。当我完成整个应用程序时,我考虑缓存一些数据,以便提高应用程序性能。 (坏主意......我必须从一开始就考虑到这
我知道下面的代码会产生编译错误: class A{ public : virtual void name(){cout(b); //Error : 'A' is an inaccessible bas
我是一名优秀的程序员,十分优秀!