Computed Field: Wert von Feld vor und nach Komma übernehmen
am 03.10.2015 - 15:31 Uhr in
Hallo,
meine Frage bezieht sich womöglich eher auf php, es dreht sich um den Einsatz des Computed Fields. Zur Situation: Ich habe ein Taxonomie-Vokabular "Künstler" (kuenstler), in welches ich nach der Systematik Nachname, Vorname dank Active Tags die Daten eintragen kann. Active Tags deswegen, weil Drupal sonst pro Komma einen neuen Wert annimmt.
Nun habe ich in dem Vokabular zwei Felder "Vorname" (field_vorname) und "Nachname" (field_nachname) angelegt, welche automatisch durch Computed Field gefüllt werden sollen.
Hierzu habe ich am Beispiel des Nachname-Feldes folgendes versucht:
Computed Code (PHP):
$entity_field[0]['value'] = $entity->title[LANGUAGE_NONE][0]['value'];
$nachname = explode(",", $entity_field);
$entity_field_item = echo $nachname[0];
Display Code (PHP)
$display_output = $entity_field_item['value'];
Leider ohne Erfolg. Ich ging davon aus, dass ich mit explode()
anhand des Kommas trennen und über Computed Field den jeweiligen Wert abrufen kann. Habe ich einen Denkfehler oder liegt der Fehler in der Syntax?
Über eure Hilfe würde ich mich freuen :)
- Anmelden oder Registrieren um Kommentare zu schreiben
Ich habe es jetzt nochmal
am 04.10.2015 - 16:56 Uhr
Ich habe es jetzt nochmal anders versucht:
Computed Code:
$entity_field[0]['value'] = $entity->name[LANGUAGE_NONE][0]['value'];
$arr = explode(",", $entity_field);
var_dump($arr);
$nachname = $arr[0];
Display Code:
$display_output = $nachname
Allerdings funktioniert es nicht, im Feld Nachname kommen keine Einträge hinzu, dafür folgende Fehler:
Web: Halle im Bild | n8aktiv
Social: Facebook | Xing
Würde dies evt. auch per
am 04.10.2015 - 17:02 Uhr
Würde dies evt. auch per Rules funktionieren? Also anstatt Computed Field einen Wert setzen?
Web: Halle im Bild | n8aktiv
Social: Facebook | Xing
Hab es jetzt nochmal anders
am 04.10.2015 - 19:29 Uhr
Hab es jetzt nochmal anders versucht:
Computed Code (PHP)
$wert = field_get_items($entity_type, $entity, 'name');
$arr = preg_split('/\s*\,\s*/', $wert);
var_dump($arr);
$entity_field[0]['value'] = $arr[0];
Display Code (PHP)
$display_output = $entity_field_item['value'];
Beim Test mit "Zuckerberg, Marc" wurde nur "Z" als Wert für field_nachname übernommen und folgender Fehler angezeigt:
Notice: String offset cast occurred in field_get_items() (line 927 von /var/www/myserver/httpdocs/mysite/modules/field/field.module).
Kann mir bitte jemand helfen?
Web: Halle im Bild | n8aktiv
Social: Facebook | Xing
....
am 05.10.2015 - 15:45 Uhr
...
C.A.W. Webdesign
caw schrieb ... Was möchtest
am 05.10.2015 - 16:04 Uhr
...
Was möchtest du mir damit sagen?
Web: Halle im Bild | n8aktiv
Social: Facebook | Xing