From 7aeaa47562dc63443c24bae5cecd919811237e5d Mon Sep 17 00:00:00 2001 From: flow Date: Mon, 11 Apr 2011 10:41:29 +0200 Subject: [PATCH] Issue #1046234 by webflo: node reference issue with content translation --- node_reference/node_reference.module | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/node_reference/node_reference.module b/node_reference/node_reference.module index 11db51b..b2633d1 100644 --- a/node_reference/node_reference.module +++ b/node_reference/node_reference.module @@ -760,16 +760,18 @@ function node_reference_preprocess_node(&$vars) { function node_reference_field_prepare_translation($entity_type, $entity, $field, $instance, $langcode, &$items) { $addition = array(); $addition[$field['field_name']] = array(); + $source_language = $entity->translation_source->language; if (isset($entity->translation_source->$field['field_name']) && is_array($entity->translation_source->$field['field_name'])) { - foreach ($entity->translation_source->$field['field_name'] as $key => $reference) { + $references = $entity->translation_source->$field['field_name']; + foreach ($references[$source_language] as $key => $reference) { $reference_node = node_load($reference['nid']); // Test if the referenced node type is translatable and, if so, // load translations if the reference is not for the current language. // We can assume the translation module is present because it invokes 'prepare translation'. if (translation_supported_type($reference_node->type) && !empty($reference_node->language) - && $reference_node->language != $node->language + && $reference_node->language != $entity->language && $translations = translation_node_get_translations($reference_node->tnid)) { // If there is a translation for the current language, use it. $addition[$field['field_name']][] = array( -- 1.7.3.4