2

我在页面上有一个页面内容元素。这有 ID 3,它有一个翻译。使用以下 Typoscript 读出此元素

lib.marker = RECORDS
lib.marker {
  tables=tt_content
    source= 3
    dontCheckPid = 1
  languageField = sys_language_uid
    select.languageField = sys_language_uid
}

对于默认语言,一切正常。但是对于我的其他语言,我得到

<a id="c605"></a>

div显示我最初想要的之前。我查看了页面内容的 HTML,所有内容都应该是这样的。有任何想法吗?

编辑:

这里是通过 TS 对象浏览器收集的内容:

[tt_content] = CASE
    [key]
    [stdWrap]
        [innerWrap]
        [innerWrap2] = | <p class="csc-linkToTop"><a href="#">{LLL...
        [prepend] = TEXT
            [dataWrap] = <a id="c{field:_LOCALIZED_UID}"></a>
            [if]
                [isTrue]
                    [field] = _LOCALIZED_UID
4

3 回答 3

9

默认行为应该是即使以默认语言添加锚点。但是,我刚刚检查并意识到 TYPO3 中可能存在错误,因此我实际上使用了不同的设置。

我认为你有两个选择。

a)完全取消锚点:

tt_content.stdWrap.prepend >

b)以这种方式修改锚:

tt_content.stdWrap.prepend {
  if >
  dataWrap = <a id="c{field:_LOCALIZED_UID//field:uid}" class="anchor"></a>
}

这应该会在默认版本和本地化版本中始终为您提供锚点。然后你应该设置CSS,a.anchor这样它就不会搞砸你的布局。我不知道它会给你带来什么样的布局问题,所以我目前不能给你更多的建议。

注意:该解决方案适用于 TYPO3 4.5,可能适用于更高版本,但据报道不适用于9.xx 及更高版本。

于 2011-12-07T15:37:20.777 回答
1

我使用以下来摆脱不需要的锚标签

tt_content.stdWrap.prepend >
tt_content.stdWrap.innerWrap.cObject.66.10 >
于 2015-03-13T09:46:16.823 回答
0

我曾经tt_content.stdWrap.prepend >移除锚,但仍然得到它们。

看起来tt_content,锚点也被添加到“无框架”(section_frame = 66)的内容元素中。

这应该摆脱它们:

tt_content.stdWrap.innerWrap.cObject.66.10 >

(Typo3 v4.6)

于 2012-10-11T13:34:42.760 回答