2017-10-22 4 views
0

私のプロジェクトには特別な要件があり、助けが必要です。私はTYPO3 8.7.8を使用しています。私はフロントエンドでタグのラベルをレンダリングするカスタム拡張を持っています。バックエンドストレージフォルダにTCAレコードとしてタグを追加できます。 TCAレコードでは、名前にタグを付けることができます。私の要件は、TCAレコードを保存するときに、特定の位置にタグと同じ名前でTYPO3ページを自動的に作成することです。 TCAレコードを追加するたびに、自動的に対応するページを作成する必要があります。これは可能ですか?私はTCAを保存しながらフックを使うことができます。しかし、自動的にページを作成する機能はありますか?TCAレコードに基づくTYPO3自動ページ作成

自動ページ作成後、特定のflexform値を持つページにプラグインコンテンツ要素を自動的に挿入します。私はこれが奇妙な要件であることを知っていますが、可能かどうかを知りたいと思います。

答えて

2

正確には、保存時にフックをトリガーし、次のステップとしてデータハンドラーを使用して新しいページ(および可能なコンテンツ)を生成することができます。 https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/Typo3CoreEngine/Database/Index.html#data-array

$tce = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\DataHandling\\DataHandler'); 
$tce->stripslashes_values = 0; 
$tce->start($data, []); 
$tce->process_datamap(); 

がドキュメントに詳細はこちら:

$data = [ 
    'pages' => [ 
     'NEW_1' => [ 
      'pid' => 456, 
      'title' => 'Title for page 1', 
     ], 
    ], 
    'tt_content' => [ 
     'NEW_123' => [ 
      'pid' => 'NEW_1', 
      'header' => 'My content element', 
     ], 
    ], 
]; 

その後、その構造のデータハンドラを呼び出し、ページやコンテンツを作成するには、次のデータ構造のようなものを使用するにはそして https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/Typo3CoreEngine/UsingDataHandler/Index.html

+0

ヒントをお寄せいただきありがとうございます。私はこれを試してみましょう。 –

0

あなたは本当ですか?追加のページが必要ですか?

一般に、問題は、プラグインが挿入されている1ページが必要で、url-parameter(realurlでパスセグメントに変換できる)の依存関係にあるプラグインが、選択したレコード(タグ)。

タグが選択されていない場合、使用可能なすべてのタグをメニューとして表示して、すべてのタグにナビゲートできます。

少し努力するだけで、すべてのタグをメニューに追加することができます。

+0

上記のデータハンドラーは、ページとコンテンツ要素を自動的に作成するのに役立ちました。しかし、私はflexform値を自動的に更新する問題に直面しています。 –

関連する問題