Ich habe einen Inhaltstyp mit mehrsprachiger Unterstützung (Knotenübersetzung). Dieser Inhaltstyp verfügt auch über ein Entitätsreferenzfeld (Modul entityreference
:).
Mein Inhalt ist:
/node/1 English story 1
/node/2 French story 1 (translation of #1)
/node/3 English story 2 with reference to #1
/node/4 French story 2 (translation of #3) **entityreference problem here**
Ich habe die Referenz für die Synchronisierung konfiguriert. Das Problem ist, dass bei jeder Übersetzung oder Bearbeitung eines Knotens versucht wird, den Verweis auf andere Übersetzungen zu synchronisieren.
Also werde ich immer enden mit:
#3 -> #1 (correct)
#4 -> #1 (wrong)
oder:
#3 -> #2 (wrong)
#4 -> #2 (correct)
Ich kann dies lösen, indem ich die Synchronisierung für das Referenzfeld deaktiviere, aber dann muss ich die Referenzen für alle Übersetzungen manuell pflegen, was auf einer Website mit vielen Übersetzungen ein Problem darstellt.
Hatte das gleiche Problem, schrieb diese kleine Problemumgehung:
quelle
Dafür gibt es ein Modul: https://drupal.org/project/i18n_node_reference
quelle
entityreference
und nichtreferences
Modul. Das trifft also in meinem Fall nicht zu.Das Code-Snippet in der zweiten Antwort funktioniert nicht, wenn die Referenz in einer Übersetzung bearbeitet wird. Das liegt daran, dass
translation_node_get_translations()
ein tnid als Argument akzeptiert wird, kein nid. Überprüfen Sie die API-Dokumente .Ändern Sie den Aufruf im obigen Code in etwa so und er sollte funktionieren (in diesem Fall nur für Knoten):
HINWEIS: Ich konnte die andere Antwort nicht kommentieren, daher poste ich diese.
quelle