TYPO3:tx_news获取BE列表中自定义标题的sys_category sys_categories

时间:2018-05-30 06:03:39

标签: model-view-controller typo3 extbase tx-news

我扩展了tx_news来举办一些课程。有些课程针对不同的参数处理相同的主题(我选择它作为sys_categories)。这意味着他们的标题是相同的,现在我正在尝试通过在列表中包含所选类别来使编辑更好地为列表...

隐含Configuration/TCA/Overrides/tx_news_domain_model_news.php中的自定义标题:

$GLOBALS['TCA']['tx_news_domain_model_news']['ctrl']['label_userFunc'] = 'Vendor\\NewsExt\\Userfuncs\\Tca->customTitle';

到目前为止的用户功能Classes/Userfuncs/Tca.php

<?php
namespace Vendor\NewsExt\Userfuncs;

use GeorgRinger\News\Domain\Model\News;

/**
 * Class Tca
 */
class Tca
{
    /**
     * Loads a custom title for the news list view
     *
     * @return void
     */
    public function customTitle(
        &$parameters,
        $parentObject
    ){
        $record = \TYPO3\CMS\Backend\Utility\BackendUtility::getRecord($parameters['table'], $parameters['row']['uid']);
        $newTitle = $record['title'];
        if($record['is_course']){
            $newTitle .= ' (' . $record['categories'] . ')' ;
        }
        $parameters['title'] = $newTitle;
    }
}

显然给出了所选类别的数量......我没有包含任何尝试,因为它们没有任何结果......

2 个答案:

答案 0 :(得分:1)

您可以进行mm查询以解析指定的类别标题:

// index.html  
<html>
<head>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script src="try.js">
</script>
</head>
<body>
<div id="chart_div" style="width: 900px; height: 500px;"></div>
</body>
</html>

注意:此代码已在TYPO3 8.7.12中测试

答案 1 :(得分:-1)

您可能最好在自己的存储库中进行自定义数据库查询,您可以在其中请求每个应用类别来获取标题。

您可以使用tx_news的存储库来避免冗余代码,但您肯定要包含一些实例化请求的代码/函数 - 无论请求是在哪里发送的。