2016-08-26 3 views
0

私のニュースの一部は、異なる言語で使用されています。アーカイブするには、このニュースの言語をALL(ID:-1)に設定する必要があります。私がすると、ニュースは機能しますが、イメージは機能しません。イメージはsys_file_referenceであり、これは言語を変更しないためです。また、バックエンドのイメージの言語を変更するフィールドはありませんので、データベースでこれを行う必要があります。tx_news:ニュースの言語をALLに変更すると、sys_file_referenceは変更されません。

私はこの問題のバグレポートが見つかりました:
https://forge.typo3.org/issues/48883

を少なくともバックエンドでのlangaugeを変更することが可能であるように私は、バグレポートから「修正」を使用します。

$TCA['sys_file_reference']['palettes']['filePalette']['isHiddenPalette'] = 0; 

(これはテンプレートのext_tables.phpに入ります)。

とにかく、これは良い解決策ではなく、編集者は画像の言語を変更することを忘れることがよくあります。

誰かがこの問題の解決策を見つけた/知っていますか?

答えて

0

DataHandler(データベースにバックエンドフォームを格納するコンポーネント)にフックするカスタム関数を使用できます。

ここで難しいのは、元のレコードのタイプ(tx_newsエントリ)に基づいて、関連するレコード(sys_file_reference)を変更する必要があるということです。 DataHandlerは、HTMLフォームによって送信されたレコードを順番に処理します。そのトリックは、あなたのケースのニュースが常に最初に来るということです。その情報を使用して、カスタムロジックがいつキックインする必要があるかを知ることができます。

カスタムフックでは、子レコードの言語を設定するためにベースレコードから削除します。可能なフックの1つはprocessDatamap_postProcessFieldArrayです。このようなフックの登録は、TYPO3のコアドキュメントに記載されています。https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/Hooks/Configuration/Index.html

+0

この情報はありがとうございます。私はまだフックを使用していないと私は最初にいくつかのテストが必要になります。私はそれをテストする時間が得られるまで質問を開いたままにします。私の別の質問を見てもらえますか?フックを使用していれば、その問題を解決できますか? http://stackoverflow.com/questions/37393398/backend-user-translate-content-from-default-language-was-not-allowed – nbar

関連する問題