Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typo3 Type3:自定义扩展名:在BE列表视图中标记\u userfunc自定义标题_Typo3_Typo3 7.6.x - Fatal编程技术网

Typo3 Type3:自定义扩展名:在BE列表视图中标记\u userfunc自定义标题

Typo3 Type3:自定义扩展名:在BE列表视图中标记\u userfunc自定义标题,typo3,typo3-7.6.x,Typo3,Typo3 7.6.x,我为TYPO3编写了一个自定义扩展,其中我存储了一个合作伙伴列表,并计算了他们的徽标在前端显示的次数 在后端,合作伙伴按名称列出,但我还想显示每个合作伙伴的印象数 在ovverride中: 'label' => 'name', 'label_userFunc' => 'Newred\\WmPartners\\Userfuncs\\Tca->partnerTitle', 在Classes\Userfuncs\Tca\PartnerTitle.php中: <

我为TYPO3编写了一个自定义扩展,其中我存储了一个合作伙伴列表,并计算了他们的徽标在前端显示的次数

在后端,合作伙伴按
名称
列出,但我还想显示每个合作伙伴的印象数

在ovverride中:

    'label' => 'name',
    'label_userFunc' => 'Newred\\WmPartners\\Userfuncs\\Tca->partnerTitle',
Classes\Userfuncs\Tca\PartnerTitle.php
中:

<?php
namespace Newred\WmPartners\Userfuncs\Tca;

public function partnerTitle(&$parameters, $parentObject) {
    $record = \TYPO3\CMS\Backend\Utility\BackendUtility::getRecord($parameters['table'], $parameters['row']['uid']);
    $newTitle = $record['name'];
    $newTitle .= ' (' . substr(strip_tags($record['impressions']), 0, 10) . '...)';
    $parameters['title'] = $newTitle;
}

您需要您的用户函数位于类中
Newred\WmPartners\Userfuncs\Tca
。为此,在文件夹
wm_partners/Classes/Userfuncs
中创建文件
Tca.php
,内容如下:

<?php
namespace Newred\WmPartners\Userfuncs;

class Tca
{
    public function partnerTitle(&$parameters, $parentObject)
    {
        $record = \TYPO3\CMS\Backend\Utility\BackendUtility::getRecord($parameters['table'], $parameters['row']['uid']);
        $newTitle = $record['name'];
        $newTitle .= ' (' . substr(strip_tags($record['impressions']), 0, 10) . '...)';
        $parameters['title'] = $newTitle;
    }
}

您需要您的用户函数位于类中
Newred\WmPartners\Userfuncs\Tca
。为此,在文件夹
wm_partners/Classes/Userfuncs
中创建文件
Tca.php
,内容如下:

<?php
namespace Newred\WmPartners\Userfuncs;

class Tca
{
    public function partnerTitle(&$parameters, $parentObject)
    {
        $record = \TYPO3\CMS\Backend\Utility\BackendUtility::getRecord($parameters['table'], $parameters['row']['uid']);
        $newTitle = $record['name'];
        $newTitle .= ' (' . substr(strip_tags($record['impressions']), 0, 10) . '...)';
        $parameters['title'] = $newTitle;
    }
}

如果括号是可选的,而您只是想显示字段“印象”的值,您也可以简单地使用
标签高度
功能与
标签高度
力结合使用

'label' => 'name',
'label_alt' => 'name,impressions',
'label_alt_force' => true

如果括号是可选的,并且您只想显示字段“印象”的值,您也可以简单地将
标签高度
功能与
标签高度
力结合使用

'label' => 'name',
'label_alt' => 'name,impressions',
'label_alt_force' => true

谢谢,你的代码很正确,我才意识到只有在禁用->清除现金并再次启用扩展的情况下才能加载该类…谢谢,你的代码很正确,我花了一点时间才意识到,只有在禁用->清除现金并再次启用扩展时,才会加载该类…这将替换名称,虽然我看了这个,但名称仍然是主标签,打开每个项目来查看印象量是非常不方便的…
label\u alt\u force
支持多个字段,用逗号分隔。这确实很好,在我的情况下,我很高兴应用函数可以提供额外的格式。。。但是感谢您添加的信息…这将取代名称,虽然我看了这个,但名称当然仍然是主标签,打开每个项目查看印象量非常不方便…
label\u alt\u force
支持多个字段,用逗号分隔。知道这一点确实很好,在我的情况下,我很高兴能够应用函数的额外格式。。。但是感谢您添加您的信息。。。