Puncte:0

Cum se poate obține în mod programatic constrângerea pachetului pentru un câmp de referință de entitate?

drapel rs

Lucrez în contextul unui plugin Views. eu am $entity_type și $câmp, după cum este necesar în fragmentul de mai jos. Cum pot obține în mod programatic constrângerea pachetului pentru câmpul de referință al entității?

/** @var Drupal\field\Entity\FieldStorageConfig $field_configuration */
$field_configuration = FieldStorageConfig::loadByName($entity_type, $field);

$field_configuration->getType() îmi dă „entity_reference”

$field_configuration->getSettings()['target_type'] îmi dă „taxonomie_term”

...dar ce metode returnează vocabularul sau vocabularele (pachetele) de care câmpul de referință al entității este setat să fie limitat (dacă este deloc) în configurația sa?

Puncte:2
drapel in

Tipurile permise de un câmp de referință de entitate sunt stocate în câmpul config (FieldConfig.php si câmp.câmp.* yaml), nu configurația de stocare în câmp (FieldStorageConfig.php si câmp.depozitare.* yaml).

Dacă aruncați o privire la un exemplu de a câmp.câmp.* yaml al unui câmp de referință de entitate, veți vedea settings.handler_settings.target_bundle proprietate care conține o listă de pachete permise pentru acel câmp de referință al entității. Pentru a obține aceste date din cod, veți avea nevoie FieldConfig::load(id) sau FieldConfig::loadByName($entity_type_id, $bundle, $field_name) in functie de ce date ai la indemana. Odată ce obțineți instanța de configurare a câmpului, există un getSetting() metoda pe care o puteți folosi pentru a prinde handler_settings.

andileco avatar
drapel rs
Acest lucru este util, dar cred că îmi spune că nu pot face ceea ce vreau să fac.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.