TYPO3:自定义扩展:label_userfunc BE 列表视图中的自定义标题
TYPO3: Custom Extension: label_userfunc custom title in BE list view
我为 TYPO3 写了一个自定义扩展,我在其中存储合作伙伴列表并计算他们的徽标在 front-end 中显示的次数 ...
在后端,合作伙伴按 name
列出,但我还想显示根据 > TYPO3 documentation
应该可能的展示次数
在覆盖范围内:
'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;
}
有人看到我哪里错了吗,这让我在列表中 [没有标题]
您的用户函数需要在 class 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;
}
}
您始终可以在其中放置一个 die()
或调试以查看是否实际调用了您的方法。
另请注意,要使此工作正常进行,您的 class 必须加载(这很可能会自动处理)
如果括号是可选的,而您只想显示字段 'impressions' 的值,您也可以简单地将 label_alt
功能与 label_alt_force
结合使用。
'label' => 'name',
'label_alt' => 'name,impressions',
'label_alt_force' => true
我为 TYPO3 写了一个自定义扩展,我在其中存储合作伙伴列表并计算他们的徽标在 front-end 中显示的次数 ...
在后端,合作伙伴按 name
列出,但我还想显示根据 > TYPO3 documentation
在覆盖范围内:
'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;
}
有人看到我哪里错了吗,这让我在列表中 [没有标题]
您的用户函数需要在 class 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;
}
}
您始终可以在其中放置一个 die()
或调试以查看是否实际调用了您的方法。
另请注意,要使此工作正常进行,您的 class 必须加载(这很可能会自动处理)
如果括号是可选的,而您只想显示字段 'impressions' 的值,您也可以简单地将 label_alt
功能与 label_alt_force
结合使用。
'label' => 'name',
'label_alt' => 'name,impressions',
'label_alt_force' => true