web-dev-qa-db-ja.com

多言語サイトのエンティティリファレンス

Entity Referenceを多言語のDrupal 7のインストールでフィールド変換(Entity Translation)を使用して)動作させるのに問題があります。

デフォルトの英語とフランス語で入力された一連のダミーコンテンツを含む「機能」と呼ばれるノードがあります。機能を選択するためのエンティティ参照フィールドを含む「製品」という別のノードがあります。

これまでのところ、英語のフォームでは、私が期待していることがわかります。いくつかの参照を選択して保存できます。

What the form looks like in English

しかし、フランス語の翻訳を作成すると、次のフォームが表示されます。

What the form looks like in French

フランス語の翻訳を作成または編集するときにエンティティが表示されません。これで、すべての翻訳で同じ選択を行う必要があるため、これ自体は問題ではありませんが(私にとって)、フランス語バージョンを保存すると、ノードの英語バージョンのすべての参照が選択解除されますあまりにも。

これで明らかな何かが足りないのではないですか?これは予想される動作ですか?

4
PUncle

I18n_taxonomyモジュールを有効にしている場合は、無効にします。

問題は、i18n_taxonomyが使用可能なオプションを埋めようとすることですが、トランザクションに2つのモジュールを使用するため、 i18n の観点から使用できるオプションはありません。

したがって、再び、i18n_taxonomyを無効にするか、このモジュールを先に進めて、分類用語のエンティティ変換を無効にします。

私はちょうどあなたの振る舞いに出くわしました、そして少なくとも私の場合、この2つのモジュールを有効にするためでした。

1
sanzante

これはさまざまな言語でのエンティティ参照フィールドの動作には対応していませんが、エンティティ選択モードをビューに切り替えることで解決したようです。

レスターによって示唆されているように、デフォルトの「シンプル」選択モードが私のフィールドのタイトルに問題を起こしていたのかどうかはまだわかりません以前のタイトルフィールドを維持し、「管理用タイトル」というラベルを付けて、使用する別の「翻訳可能なタイトル」を追加します。その意味で、「単純な」選択方法に問題はなかったはずです。

どちらの方法でも、機能ノードの「翻訳可能なタイトル」を表示および検索するエンティティ参照ビューを設定するとうまくいったようです!


編集:

@ダン-これらのラベルは、作成したノードのタイトルまたはフィールドですか?

標準のノードタイトルの問題は、他のフィールドとは異なり、そのため「エンティティ」ではないということです。つまり、エンティティの変換はそれらでは機能しません。回避策は、Titleモジュールを使用してデフォルトのタイトルフィールドをエンティティに置き換えるか(これにいくつかの問題がありました)、または自分で作成した別のフィールドを使用することです。

翻訳する必要があるフィールドが「エンティティ」(基本的には自分で作成したフィールド、またはTitleモジュールによって生成されたフィールド)になると、フィールドをコンテンツタイプに追加するときにそのフィールドの翻訳を有効にできます。

次に、使用するコンテンツを含む新しいビューを作成し、+ボタンをクリックして「エンティティ参照ビュー」を追加する必要があります。表示して保存するフィールドでこのビューを構成した後、コンテンツタイプのエンティティ参照フィールドを編集するときに、エンティティ選択モードをビューに変更して、新しく作成したビューを選択できることがわかります。

私はそれが理にかなっていると思います!

1
PUncle