0

我正在寻找解决方案,如何在附加属性中包含查询?

静止的:

<f:link.typolink parameter="{field.referenceLink}" title="{field.referenceTitel} - {field.referenceText}" additionalAttributes="{rel:'nofollow'}">
    Link
</f:link.typolink>

健康)状况:

<f:variable name="nofollow"><f:if condition="{field.referenceLinkNofollow}"><f:then>{rel:'nofollow'}</f:then><f:else>{rel:'dofollow'}</f:else></f:if></f:variable>

下一个测试:

<f:section name="nofollow">
    <f:spaceless><f:if condition="{field.referenceLinkNofollow}"><f:then>{rel:'nofollow'}</f:then><f:else>{rel:'dofollow'}</f:else></f:if></f:spaceless>
</f:section>

不要这样工作:

<f:link.typolink parameter="{field.referenceLink}" title="{field.referenceTitel} - {field.referenceText}" additionalAttributes="{nofollow}">
    Link
</f:link.typolink>

错误:
参数“additionalAttributes”注册为“array”类型,但在视图助手“TYPO3\CMS\Fluid\ViewHelpers\Link\TypolinkViewHelper”中属于“string”类型。

4

3 回答 3

1

一种选择可能是:

<f:variable name="nofollow" value="{f:if(condition: '{data.no_follow}', then: 'nofollow', else: '')}" />
<f:link.typolink parameter="https://example.com" title="Title" additionalAttributes="{rel: '{nofollow}'}">
  Link
<f:link.typolink>

假设该变量{data.no_follow}表示后端用户可以在页面属性中更改的设置(“关注此页面”)。

第一行将nofollowFluid 模板中的变量设置为 value'nofollow'''( empty ),具体取决于页面属性设置。我使用If -ViewHelper 的内联符号来实现这一点。{nofollow}然后在LinkTypolink -ViewHelper 中使用该变量作为rel=下属性的值additionalAttributes

由于删除了空值,因此rel=仅当属性具有值时才显示该属性。

于 2022-01-23T07:49:03.797 回答
1

如果 {field.referenceLink} 和 {field.referenceLinkNofollow} 包含所需的数据,这也应该有效。

    <f:link.typolink parameter="{field.referenceLink}"
                     additionalAttributes="{f:if(condition: '{field.referenceLinkNofollow}', then: '{rel:'nofollow'}')}"
    >Linktext</f:link.typolink>
于 2022-01-23T14:55:00.550 回答
0

谢谢,它有效!

<f:variable name="nofollow" value="{f:if(condition: '{field.referenceLinkNofollow}', then: 'nofollow', else: '')}" />

体液:

<f:link.typolink parameter="{field.referenceLink}" title="{field.referenceTitel}" additionalAttributes="{rel: '{nofollow}'}">
于 2022-01-23T21:30:08.347 回答