protected function getTerm($name, Row $row, $vocabulary) {
    // Attempt to fetch an existing term.
    $properties = [];
    if (!empty($name)) {
      $properties['name'] = $name;
    }
    $vocabularies = taxonomy_vocabulary_get_names();
    if (isset($vocabularies[$vocabulary])) {
      $properties['vid'] = $vocabulary;
    }
    else {
      // Return NULL when filtering by a non-existing vocabulary.
      return NULL;
    }

    $terms = \Drupal::getContainer()->get('entity.manager')->getStorage('taxonomy_term')->loadByProperties($properties);
    $term = reset($terms);
    if (!empty($term)) {
      if ($row->getDestinationProperty('langcode') && $row->getDestinationProperty('langcode') != LanguageInterface::LANGCODE_NOT_SPECIFIED) {
        if (!$term->hasTranslation($row->getDestinationProperty('langcode'))) {
          $term->addTranslation($row->getDestinationProperty('langcode'));
        }
        $term = $term->getTranslation($row->getDestinationProperty('langcode'));
      }
      return $term;
    }
    // Fallback, create a new term.
    $term = Term::create($properties);
    if ($row->getDestinationProperty('langcode')) {
      $term->langcode = $row->getDestinationProperty('langcode');
    }
    return $term;
  }
protected function getTerm($name, Row $row, $vocabulary) {
    // Attempt to fetch an existing term.
    $properties = [];
    if (!empty($name)) {
      $properties['name'] = $name;
    }
    $vocabularies = taxonomy_vocabulary_get_names();
    if (isset($vocabularies[$vocabulary])) {
      $properties['vid'] = $vocabulary;
    }
    else {
      // Return NULL when filtering by a non-existing vocabulary.
      return NULL;
    }

    $terms = \Drupal::getContainer()->get('entity.manager')->getStorage('taxonomy_term')->loadByProperties($properties);
    $term = reset($terms);
    if (!empty($term)) {
      if ($row->getDestinationProperty('langcode') && $row->getDestinationProperty('langcode') != LanguageInterface::LANGCODE_NOT_SPECIFIED) {
        if (!$term->hasTranslation($row->getDestinationProperty('langcode'))) {
          $term->addTranslation($row->getDestinationProperty('langcode'));
        }
        $term = $term->getTranslation($row->getDestinationProperty('langcode'));
      }
      return $term;
    }
    // Fallback, create a new term.
    $term = Term::create($properties);
    if ($row->getDestinationProperty('langcode')) {
      $term->langcode = $row->getDestinationProperty('langcode');
    }
    return $term;
  }
protected function getTerm ( $ name , Row $ row , $ vocabulary ) { // Attempt to fetch an existing term. $ properties = [ ] ; if ( ! empty ( $ name ) ) { $ properties [ 'name' ] = $ name ; } $ vocabularies = taxonomy_vocabulary_get_names ( ) ; if ( isset ( $ vocabularies [ $ vocabulary ] ) ) { $ properties [ 'vid' ] = $ vocabulary ; } else { // Return NULL when filtering by a non-existing vocabulary. return NULL ; } $ terms = \ Drupal :: getContainer ( ) -> get ( 'entity.manager' ) -> getStorage ( 'taxonomy_term' ) -> loadByProperties ( $ properties ) ; $ term = reset ( $ terms ) ; if ( ! empty ( $ term ) ) { if ( $ row -> getDestinationProperty ( 'langcode' ) && $ row -> getDestinationProperty ( 'langcode' ) != LanguageInterface :: LANGCODE_NOT_SPECIFIED ) { if ( ! $ term -> hasTranslation ( $ row -> getDestinationProperty ( 'langcode' ) ) ) { $ term -> addTranslation ( $ row -> getDestinationProperty ( 'langcode' ) ) ; } $ term = $ term -> getTranslation ( $ row -> getDestinationProperty ( 'langcode' ) ) ; } return $ term ; } // Fallback, create a new term. $ term = Term :: create ( $ properties ) ; if ( $ row -> getDestinationProperty ( 'langcode' ) ) { $ term -> langcode = $ row -> getDestinationProperty ( 'langcode' ) ; } return $ term ; }
Creates a new or returns an existing term for the target vocabulary.
Creates a new or returns an existing term for the target vocabulary .