it-swarm.com.de

Erhalten Sie benutzerdefinierte Felder, die der Taxonomie zugewiesen sind

So ordnen Sie benutzerdefinierte Felder der Taxonomie in Drupal 8. Was ich bisher getan habe, ist:

$contact_countries = \Drupal::service('entity_type.manager')->getStorage("taxonomy_term")->loadTree('contact_country');

$ contact_countries enthält jetzt Taxonomien. Ich kann den Namen der Taxonomie und die ID abrufen, aber ich habe auch ein benutzerdefiniertes Feld in der Taxonomie erstellt. Wie kann ich es abrufen?

Mit diesem Code

foreach($contact_countries as $contact_countrie) {
        $terms[] = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->load($contact_countrie->tid);
        $variables['contact_countries'] = $terms;
    }

Ich erhalte ein Objekt (Drupal\Taxonomy\Entity\Term) mit geschützten Werten. Ich kann dort meine Werte für benutzerdefinierte Felder sehen, aber nicht darauf zugreifen.

6
RomkaLTU
2
Kevin

Ich habe es so gemacht:

$contact_countries = \Drupal::service('entity_type.manager')->getStorage("taxonomy_term")->loadTree('contact_country');

$terms = array();

foreach($contact_countries as $contact_countrie) {
    $terms[] = array(
        'contact_country' => $contact_countrie->name,
        'contact_phone' => \Drupal::entityTypeManager()->getStorage('taxonomy_term')->load($contact_countrie->tid)->get('field_phone')->getValue()[0]['value'],
        'contact_flag' => \Drupal::entityTypeManager()->getStorage('taxonomy_term')->load($contact_countrie->tid)->get('field_category_flag')->entity->uri->value,
    );
}

Hier habe ich die Felder field_phone (Textfeld) und field_category_flag (Dateifeld).

5
RomkaLTU

Ich habe es so gemacht.

$countries = \Drupal::service('entity_type.manager')->getStorage("taxonomy_term")->loadTree('countries',0,NULL,TRUE);

/* Using First Country : $countries[0] */
$region = $countries[0]->get('field_region')->target_id;
$description = $countries[0]->get('field_description')->value;
2
Ashok Gj