Как получить доступ к значению объекта Drupal\Core\stringtranslation\translatablemarkup в форме?
Я попробовал это: dpm($button['#value']->string
, но получил эту ошибку:
доступ к защищенному свойству Drupal\Core\stringtranslation\translatablemarkup::$строка
В объекте формы мне нужно иметь возможность считывать это значение, а также изменять его. как я могу получить к нему доступ? спасибо
4
2 answers
Приведя объект к (строке), вы получите значение.
Пример:
$op = (string) $form_state->getValue('op');
0
Author: Yash Khandelwal, 2017-05-03 11:07:53
Вы можете получить строковое значение, вызвав магическую функцию ->__tostring()
или приведя объект к (string)
. Но в большинстве случаев вам не нужно этого делать, потому что если вы используете объект перевода в контексте строки, он автоматически вернет переведенную строку.
Вы не можете изменить исходную строку в объекте перевода. Вы должны создать новый с помощью t-функции:
$button['#value'] = $this->t('new text');
3
Author: 4k4, 2016-05-26 19:45:23