我已经构建了一个自定义内容元素,其中包含来自字段"header_link“的链接。
如何将链接的标题设置为链接文本?
在流体模板中,我以这样的方式使用link.typolink viewhelperin:
<f:link.typolink parameter="{data.header_link}" class="btn btn-primary" />这会导致
<a href="/page" title="link title" class="btn btn-primary">Page Title</a>如何将链接标题设置为链接文本而不是页面标题?
发布于 2019-12-26 17:55:06
<f:link.typolink parameter="{data.header_link}" title="Title Attribute">
Custom Link Text
</f:link.typolink>结果:
<a href="/page" title="Title Attribute">
Custom Link Text
</a>参考文献
更新1
(根据补充意见更新)
组合参数字符串t3://page?uid=123 - - "title" (parameter target class title additional parameters)被认为只对产生锚标记有影响。在流体模板中使用title部件作为变量没有开箱即用的方法.
为了做到这一点,必须创建一个自定义ViewHelper。
class ParameterPartViewHelper extends AbstractViewHelper
{
public function initializeArguments()
{
$this->registerArgument('part', 'string', 'Parameter part to be extracted', true);
}
public function render(): string
{
$part = $this->arguments['part'] ?? null;
$typoLinkCodec = GeneralUtility::makeInstance(TypoLinkCodecService::class);
return $typoLinkCodes->decode($this->renderChildren())[$part] ?? '';
}可以在液体中使用,例如:
<f:link.typolink parameter="{data.header_link}" title="Title Attribute">
{data.header_link -> my:parameterPart(part:'title')}
</f:link.typolink>发布于 2021-05-21 01:44:32
从TYPO3 10.3开始,就可以这样做了
<f:link.typolink parameter="{data.header_link}" class="btn btn-primary" parts-as="parts">
{parts.title}
</f:link.typolink>阅读变更文件中的更多内容
这些是你能用的所有零件。
<f:link.typolink parameter="123 _top news title" parts-as="parts">
{parts.url}
{parts.target}
{parts.class}
{parts.title}
{parts.additionalParams}
</f:link.typolink>https://stackoverflow.com/questions/59428167
复制相似问题