0

在typo3 6.1.5 的不同内容页面上访问我的前端扩展的单个记录时遇到问题。

目前,只能将整个列表或多个具有相同内容的记录都列出来。

我用谷歌搜索并尝试过这个解决方案: 如何在 TYPO3 6.x 中快速创建自定义内容元素

但它没有用。

该扩展有以下字段:headercapton(字符串)、headericon(图像)、bodytext(富文本)、buttoncaption(字符串)、buttonlink(链接)

要将插件注册为内容类型,我尝试了以下配置,但也不起作用:

$TCA['tt_content']['columns']['CType']['config']['items']['45']['0'] = 'Advanced Teaser';
$TCA['tt_content']['columns']['CType']['config']['items']['45']['1'] = 'advancedteasers_domain_model_teaser';
$TCA['tt_content']['types']['advancedteasers_domain_model_teaser']['showitem'] = '--palette--;LLL:EXT:cms/locallang_ttc.xml:palette.general;general,sys_language_uid;;;;1-1-1, l10n_parent, l10n_diffsource, hidden;;1, headercapton, headericon, bodytext, buttoncaption, buttonlink,--div--;LLL:EXT:cms/locallang_ttc.xlf:tabs.access,starttime, endtime';

我从中获取的最后一行中的值

$TCA['tx_advancedteasers_domain_model_teaser']['types']['1']['showitem'] 

并对其进行了轻微修改。

Internet 上是否有一些关于 TCA 值语法的好书或文档?还有关于如何将这些价值观放在一起的原则?

Typ3的官方文档我看过了,但是还不够理解。

非常感谢您提前回答。

PS我还尝试了这个变体,从插件的语言文件中获取语言值:

$TCA['tt_content']['types']['advancedteasers_domain_model_teaser']['showitem'] = '--palette--;LLL:EXT:cms/locallang_ttc.xml:palette.general;general,sys_language_uid;;;;1-1-1,l10n_parent,l10n_diffsource,hidden;;1,LLL:EXT:advanced_teasers/Resources/Private/Language/locallang_db.xlf:tx_advancedteasers_domain_model_teaser.headercapton,tx_advancedteasers_domain_model_teaser.headericon,tx_advancedteasers_domain_model_teaser.bodytext,tx_advancedteasers_domain_model_teaser.buttoncaption,tx_advancedteasers_domain_model_teaser.buttonlink,--div--;LLL:EXT:cms/locallang_ttc.xlf:tabs.access,starttime,endtime';

它也没有工作。

所有自定义字段都在扩展文件夹中声明:advanced_teasers/Configuration/TCA/Teaser.php

在数组中

$TCA['tx_advancedteasers_domain_model_teaser']

所以我也试着把这些片段放到 Teaser.php 中:

$TCA['tt_content']['columns']['CType']['config']['items']['45']['0'] = 'Advanced Teaser';
$TCA['tt_content']['columns']['CType']['config']['items']['45']['1'] = 'advancedteasers_domain_model_teaser';
$TCA['tt_content']['types']['advancedteasers_domain_model_teaser']['showitem'] = $TCA['tx_advancedteasers_domain_model_teaser'];

但这没有帮助。

我究竟做错了什么?

4

1 回答 1

1

$TCA 是“表格配置数组”,基本上控制在 TYPO3 后端显示的内容 - 它定义了编辑器的界面。由于您正在寻找前端渲染并且我假设您使用 MVC 方法,因此您需要配置 TeaserRespository 的行为(可以在您的 advancedteasers 扩展的 ./Classes/Domain/Repository/TeaserRepository.php 中找到)。

以下站点解释了在那里可以做什么 - 例如在那里搜索“setRespectStoragePage”:http: //forge.typo3.org/projects/typo3v4-mvc/wiki/Default_Orderings_and_Query_Settings_in_Repository

于 2013-11-11T16:36:23.037 回答