添付 | サイズ |
---|---|
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) | 16.03 KB |
/** * Implements hook_feeds_processor_targets_alter(). */ function my_module_feeds_feeds_processor_targets_alter(array &$targets, $entity_type, $bundle) { if( $entity_type=="node"&&$bundle=="chinese_word"){ $field_info = field_info_instances("node", "chinese_word") ; if( array_key_exists('field_ch_word_sentences', $field_info ) && field_info_field( 'field_ch_word_sentences' )['type'] == "entityreference" ){ $targets["field_ch_word_sentences:drills_hander"] = array( 'name' => check_plain( $field_info['field_ch_word_sentences']['label'] ).t(' (Import multiple value instance field)'), 'callback' => 'drills_custom_feeds_set_target_entity_reference', 'description' => t('This filed for converting Chinese Examples to word reference only.Do not use it for other fields!!'), ); } } }
function drills_custom_feeds_set_target_entity_reference($source, &$entity, $target, $value, $mapping){ if (empty($value)) { return; } $target = str_replace(':drills_hander', '', $target); $query = db_query("select title, nid, CHAR_LENGTH(title) as char_num from node where title like '%".$value[0]."%' and type='example_sentences' order by char_num limit 100"); $sentences = $query->fetchAll(); $field = array(); foreach( $sentences as $i => $sentence ){ $field[LANGUAGE_NONE][$i]['target_id'] = $sentence->nid; } $entity->{$target} = $field; }
添付 | サイズ |
---|---|
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) | 16.03 KB |
/** * Implements hook_feeds_processor_targets_alter(). */ function my_module_feeds_feeds_processor_targets_alter(array &$targets, $entity_type, $bundle) { if( $entity_type=="node"&&$bundle=="chinese_word"){ $field_info = field_info_instances("node", "chinese_word") ; if( array_key_exists('field_ch_word_sentences', $field_info ) && field_info_field( 'field_ch_word_sentences' )['type'] == "entityreference" ){ $targets["field_ch_word_sentences:drills_hander"] = array( 'name' => check_plain( $field_info['field_ch_word_sentences']['label'] ).t(' (Import multiple value instance field)'), 'callback' => 'drills_custom_feeds_set_target_entity_reference', 'description' => t('This filed for converting Chinese Examples to word reference only.Do not use it for other fields!!'), ); } } }
function drills_custom_feeds_set_target_entity_reference($source, &$entity, $target, $value, $mapping){ if (empty($value)) { return; } $target = str_replace(':drills_hander', '', $target); $query = db_query("select title, nid, CHAR_LENGTH(title) as char_num from node where title like '%".$value[0]."%' and type='example_sentences' order by char_num limit 100"); $sentences = $query->fetchAll(); $field = array(); foreach( $sentences as $i => $sentence ){ $field[LANGUAGE_NONE][$i]['target_id'] = $sentence->nid; } $entity->{$target} = $field; }
添付 | サイズ |
---|---|
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) | 16.03 KB |
/** * Implements hook_feeds_processor_targets_alter(). */ function my_module_feeds_feeds_processor_targets_alter(array &$targets, $entity_type, $bundle) { if( $entity_type=="node"&&$bundle=="chinese_word"){ $field_info = field_info_instances("node", "chinese_word") ; if( array_key_exists('field_ch_word_sentences', $field_info ) && field_info_field( 'field_ch_word_sentences' )['type'] == "entityreference" ){ $targets["field_ch_word_sentences:drills_hander"] = array( 'name' => check_plain( $field_info['field_ch_word_sentences']['label'] ).t(' (Import multiple value instance field)'), 'callback' => 'drills_custom_feeds_set_target_entity_reference', 'description' => t('This filed for converting Chinese Examples to word reference only.Do not use it for other fields!!'), ); } } }
function drills_custom_feeds_set_target_entity_reference($source, &$entity, $target, $value, $mapping){ if (empty($value)) { return; } $target = str_replace(':drills_hander', '', $target); $query = db_query("select title, nid, CHAR_LENGTH(title) as char_num from node where title like '%".$value[0]."%' and type='example_sentences' order by char_num limit 100"); $sentences = $query->fetchAll(); $field = array(); foreach( $sentences as $i => $sentence ){ $field[LANGUAGE_NONE][$i]['target_id'] = $sentence->nid; } $entity->{$target} = $field; }
添付 | サイズ |
---|---|
feeds_entity_processor-1033202-217.patch_.txt (16.03 KB) | 16.03 KB |