it-swarm.com.de

Wie kann ich auf den Wert eines Drupal \ Core \ StringTranslation \ TranslatableMarkup-Objekts in einem Formular zugreifen?

Ich habe es versucht: dpm($button['#value']->string hat aber folgenden Fehler erhalten: Zugriff auf die geschützte Eigenschaft Drupal\Core\StringTranslation\TranslatableMarkup :: $ string

Innerhalb eines Formularobjekts muss ich diesen Wert lesen und auch ändern können. Wie kann ich darauf zugreifen? Vielen Dank

3
Diana

Wenn Sie das Objekt in eine (Zeichenfolge) umwandeln, erhalten Sie den Wert.

Beispiel:

$op = (string) $form_state->getValue('op');
0
Yash Khandelwal

Sie können den Zeichenfolgenwert erhalten, indem Sie die magische Funktion ->__tostring() aufrufen oder das Objekt in ein (string). Meistens müssen Sie dies jedoch nicht tun, da bei Verwendung des Übersetzungsobjekts in einem Zeichenfolgenkontext die übersetzte Zeichenfolge automatisch zurückgegeben wird.

Sie können die ursprüngliche Zeichenfolge im Übersetzungsobjekt nicht ändern. Sie müssen eine neue mit der t-Funktion generieren:

$button['#value'] = $this->t('new text');
3
4k4