4

我知道我可以将 tt_news 配置为自动将作者和电子邮件设置为给定值,如下所示:

TCAdefaults.tt_news.author = full name
TCAdefaults.tt_news.author_email = name@domain.tld

但是我可以从当前登录的 BE 用户的信息中检索电子邮件的名称吗?

4

2 回答 2

2

为了使每次更改都可以填充值(如果为空),您需要在某处注册一个钩子,即在您自己的扩展中

typo3conf/ext/yourext/hooks/class.tx_ttnews_hooks.php

class tx_ttnews_hooks {
// hook for prefilling TCA values
function getSingleField_preProcess($table, $field, &$row, $altName, $palette, $extra, $pal, $pObj) {

        switch($field) {
            case 'author_email':
                if($row[$field] == '') {
                    $row[$field] = $GLOBALS['BE_USER']->user['email'];
                }
                break;

            case 'author':
                if($row[$field] == '') {
                    $row[$field] = $GLOBALS['BE_USER']->user['realName'];
                }
                break;
         }
    }
}

然后将其添加到typo3conf/ext/yourext/ext_localconf.php

$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tceforms.php']['getSingleFieldClass'][] 
    = 'EXT:yourext/hooks/class.tx_ttnews_hooks.php:tx_ttnews_hooks';
于 2012-06-23T16:32:23.603 回答
0

有一个扩展程序可以满足您的需求。我自己没有使用过它,但描述听起来很有希望。

作为另一种解决方案,您可以编写一些添加动态用户 ts 的 php 代码。我只在 German 中找到了一个示例,但无论如何这可能会有帮助。

于 2012-06-23T16:20:33.210 回答