如何将当前页面标题自动插入TYPO3模板?

14 typo3 typoscript

实际上标题是整个问题.

我只是想修改模板,以便自动显示当前页面标题(我正在使用html模板,所以我只需要一些typoscript来获取数据库中的页面标题)

我希望这是可能的

Jas*_*itz 29

它是.这很简单.我假设你正在使用TemplaVoilà,因为如果你不是,你应该是:-D

首先在模板中放入一些带有虚拟页面标题的HTML.给它一个ID属性,这样很容易映射.喜欢:

<h1 id="page-title">Page Title Here</h1>
Run Code Online (Sandbox Code Playgroud)

接下来,进入TemplaVoilà并将该<h1>元素映射到内容类型"TypoScript Object Path".当它提示你输入对象路径时,你可以输入你想要的任何内容 - 约定是在"lib"命名空间中添加动态内容,所以让我们调用它lib.pagetitle.当它询问您是否要将其映射到"INNER"或"OUTER"时,选择"INNER" - 这意味着您只是映射<h1>...</h1>标签之间的空间.("OUTER"表示您正在替换整个元素,包括我们不想要的标记,因为我们希望它保持H1.)保存模板映射.

现在进入您网站的TypoScript模板.在这里,您将插入填充我们刚刚用实际内容映射的空间的逻辑.插入页面标题只需要几行TypoScript:

lib.pagetitle = TEXT
lib.pagetitle.data = page : title
Run Code Online (Sandbox Code Playgroud)

这说的是"获取我映射到的模板中的空间lib.pagetitle.在该类型的空间中创建一个内容对象TEXT.然后用页面标题填充该内容对象."

保存您的TypoScript模板.现在你完成了!

乍一看这听起来可能很复杂,但是,这个系统的好处在于它非常灵活.动态插入文本只是一个开始.该Typo脚本参考(又名"TSef文档")拥有所有的细节-查找"的getText"获得的味道,这就是,使功能"页面:标题为"在页标题您的TypoScript模板掉话.

TSRef是你的朋友.我把它的印刷版本保存在我的桌子上 - 如果你想让TYPO3唱歌,它就是你的歌集.


Jai*_*ish 5

lib.pagetitle = RECORDS\nlib.pagetitle {\n    source.data = page:uid\n    tables = pages\n    conf.pages = TEXT\n    conf.pages.field = nav_title\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

获取当前页面标题:

\n\n
lib.pagetitle = TEXT\nlib.pagetitle.field=title\n
Run Code Online (Sandbox Code Playgroud)\n\n

对于元数据:

\n\n

当我们浏览移动兼容网站时,将元放在标题标记之后非常重要

\n\n

为了防止 IE9 中的怪异模式,我需要在每个 HTML 页面的最顶部添加以下行:

\n\n

您可以通过在打字稿中添加disableAllHeaderCode = 1来自己编写整个标头,或者您可以通过将元标记直接添加到head标记来破解它:

\n\n
 page.headTag = <head><meta http-equiv="X-UA-Compatible" content="IE=edge" />\n
Run Code Online (Sandbox Code Playgroud)\n\n

将其放在您的打字稿中

\n\n
 meta.X-UA-Compatible = IE=edge,chrome=1\n
Run Code Online (Sandbox Code Playgroud)\n\n

httpEquivalent:(自 TYPO3 4.7 起)如果设置为 1,则在元标记中使用 http-equiv 属性,而不是 \xe2\x80\x9cname\xe2\x80\x9d 属性。默认值:0。

\n\n

有关 TYPO3 的更多信息,您可以访问我的博客

\n\n

https://jainishsenjaliya.wordpress.com/2013/10/10/put-meta-tag-on-top-of-header-section-in-typo3/

\n


Ren*_*amm 5

如果你想在流畅的页面模板中使用它,你也可以简单地使用:

{data.title}
Run Code Online (Sandbox Code Playgroud)

访问页面标题。