我知道我可以配置tt_news自动将作者和电子邮件设置为给定值,如下所示:
TCAdefaults.tt_news.author = full name
TCAdefaults.tt_news.author_email = name@domain.tld
但我可以从当前登录的BE用户的信息中检索电子邮件的名称吗?
答案 0 :(得分: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';
答案 1 :(得分:0)
有extension可以满足您的需求。我自己没有用过,但说明听起来很有希望。
作为另一种解决方案,您可以编写一些增加动态用户ts的PHP代码。我只找到了一个example in German,但也许这对你有帮助。