typo3拡張機能はページに2回、異なるセットアップ?

StackOverflow https://stackoverflow.com/questions/9313807

  •  26-10-2019
  •  | 
  •  

質問

同じTypo3ページ(実際にはTemplavoilaテンプレートを介して定義された2つの部分にある)に2回配置したいTypo3拡張機能を作成しましたが、2つのインスタンスには異なるセットアップが必要です!
「ページ」モジュールを介してページにコンテンツを追加すると、必要なだけ拡張機能のインスタンスを追加できます。ただし、「テンプレート」モジュールでは、ページごとに1つの構成しかありません。

だから私の質問は、同じページに単一のプラグインの異なるインスタンスに対して異なるタイプ記述セットアップを持つための最良の方法は何ですか?

ヒントをありがとう!

役に立ちましたか?

解決

なぜテンプレート構成を使用するのですか? FrontEndプラグイン自体(FlexFormsを使用)の構成を定義できるため、すべてのインスタンスをカスタマイズできます。

他のヒント

構成オプションがFlexFormとして使用できない場合、またはTypoScriptを介してオプションを変更する他の理由がある場合、次のようにすることができます。

temp.tx_yourextension < plugin.tx_yourextension
plugin.tx_yourextension >
plugin.tx_yourextension = CASE
plugin.tx_yourextension {

  # check for the uid of the content element (the plugin)
  key.field = uid

  # if nothing special is defined
  default < temp.tx_yourextension

  # the plugin with the uid 1234 needs different configuration
  1234 < temp.tx_yourextension
  1234 {
    property = whatever
  }
}

UIDを要求する代わりに、section_frameまたはその他のフィールドを確認できます。

ただし、TypoScriptに直接アクセスするいくつかの拡張機能に注意してください $GLOBALS['TSFE']->tmpl->setup['plugin.']['tx_yourextension.']['property'] これにより、このオプションが妨げられます。

tt_content.list。*で同じことができます。

# without tx_ prefix
temp.yourextension < tt_content.list.20.yourextension
tt_content.list.20.yourextension >
tt_content.list.20.yourextension = CASE
...

FlexFormを使用して、異なるセットアップを持つことができます。各フレックスフォームは、別のデータベースフィールドに保存されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top