답변:
다음 코드를 사용하십시오.
$curr_langcode = \Drupal::languageManager()->getCurrentLanguage(\Drupal\Core\Language\LanguageInterface::TYPE_CONTENT)->getId();
// retrieve term
$taxonomy_term = \Drupal\taxonomy\Entity\Term::load($tid);
// retrieve the translated taxonomy term in specified language ($curr_langcode) with fallback to default language if translation not exists
$taxonomy_term_trans = \Drupal::service('entity.repository')->getTranslationFromContext($taxonomy_term, $curr_langcode);
// get the value of the field "myfield"
$myfield_translated = $taxonomy_term_trans->myfield->value;
language_manager의 첫 번째 줄에서 service를 대신 사용해야합니다. 또한 use 태그를 사용하여 코드를 줄입니다.
파일 시작 부분 :
use Drupal\taxonomy\Entity\Term;
use Drupal\Core\Language\LanguageInterface;
나중에 일부 함수의 코드에서
$curr_langcode = \Drupal::service('language_manager')->getCurrentLanguage(LanguageInterface::TYPE_CONTENT)->getId();
// Retrieve term.
$taxonomy_term = Term::load($tid);
// Retrieve the translated taxonomy term in specified language
// ($curr_langcode) with fallback to default language if translation not
// exists.
$taxonomy_term_trans = \Drupal::service('entity.repository')->getTranslationFromContext($taxonomy_term, $curr_langcode);
// Get the value of the field "myfield".
$myfield_translated = $taxonomy_term_trans->myfield->value;
위의 스 니펫은 번역되지 않은 용어도 반환합니다. 용어가 hasTranslation 함수로 번역되었는지 확인해야합니다.
$vocabulary = 'MY_VOCABULARY_NAME';
$language = \Drupal::languageManager()->getCurrentLanguage()->getId();
$query = \Drupal::entityQuery('taxonomy_term');
$query->condition('vid', $vocabulary);
$query->sort('weight');
$tids = $query->execute();
$terms = \Drupal\taxonomy\Entity\Term::loadMultiple($tids);
$termList = array();
foreach($terms as $term) {
if($term->hasTranslation($language)){
$translated_term = \Drupal::service('entity.repository')->getTranslationFromContext($term, $language);
$tid = $term->id();
$termList[$tid] = $translated_term->getName();
}
}
// To print a list of translated terms.
foreach($termList as $tid => $name) {
print $name;
}
임기 페이지에 태그를 연결하려면 : 참조 : 분류 용어를 가져옵니다