TYPO3:元标记作者,如何使用名称和电子邮件

时间:2018-05-03 05:52:04

标签: typo3 metadata typoscript

html5标准接受作者标签作为名称和电子邮件:

<meta name="author" content="name, email@hotmail.com">

TYPO3后端允许您在页面属性中将它们注册为“作者姓名”(字段:author)和“作者电子邮件”(字段:author_email),

我知道如何包含标记(我使用值递归):

page = PAGE
page {
    meta {
        author.data = levelfield :-1, author slide
        author.override.field = author
    }
}

如何使用typoscript正确添加电子邮件?

2 个答案:

答案 0 :(得分:1)

您可能可以使用cObject连接COA中的两个字段。

page.meta.author.cObject = COA
page.meta.author.cObject {
    10 = TEXT
    10.data = levelfield :-1, author slide
    10.noTrimWrap = ||, |

    20 = TEXT
    20.data = levelfield :-1, author_email slide
    20.noTrimWrap = ||, |

    stdWrap.subString = 0,-2
}

由于并非所有字段都准备好滑动,因此您需要声明这些附加字段以进行滑动。这可以在安装工具或扩展中完成 扩展程序的解决方案:插入ext_localconf.php

$rootlinefields = &$GLOBALS["TYPO3_CONF_VARS"]["FE"]["addRootLineFields"]; 
if ($rootlinefields != '') { 
    $rootlinefields .= ' , '; 
} 
$rootlinefields .= 'author,author_email';

<强>注意:
authorauthor_email单独展开时,您可能会收到来自不同网页的混合内容

答案 1 :(得分:0)

受到Bernd的启发我有一半工作:

page {
    meta {
        author.cObject = COA
        author.cObject {
            10 = TEXT
            10 {
                data = levelfield :-1, author, slide
                override.field = author
                wrap = |
            }

            20 = TEXT
            20 {
                field = author_email
                noTrimWrap = |, ||
                if {
                    isTrue.field = author_email
                    isTrue = 1
                    isTrue.if {
                        isTrue.field = author
                    }
                }
            }
        }
    }
}
像这样,作者会滑动,但只有在页面上有组合作者和电子邮件时才会添加电子邮件...