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'] 

と軽く改造。

TCA 値の構文に関する良い本やドキュメントはインターネットにありますか? また、それらの価値をどのように組み合わせるかという原則についても教えてください。

Typo3 の公式ドキュメントを読みましたが、十分に理解できません。

事前にご回答いただきありがとうございます。

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 に答える