Перейти к содержанию
Xelen

Переменная переменной в Twig

Рекомендуемые сообщения

Подскажите, как переписать такой код в twig

<?php if (${$prefix . "_hash_algorithm"} == "md5") { ?>

или такой

<?php echo ${$prefix . "_payment_code"}; ?>

Как я поняла, это переменная переменной

 

Я пробовала написать так, но ругается

{{ {{ prefix }}_payment_code" }}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
42 минуты назад, AlexDW сказал:

 

пробую по этому принципу переписать этот блок

<div class="col-sm-10">
	<select name="<?php echo $prefix; ?>_hash_algorithm" id="input-hash-algorithm" class="form-control">
		<option value="md5"<?php if (${$prefix . "_hash_algorithm"} == "md5") { ?> selected="selected"<?php } ?>>MD5</option>
		<option value="sha1"<?php if (${$prefix . "_hash_algorithm"} == "sha1") { ?> selected="selected"<?php } ?>>SHA1</option>
		<option value="sha256"<?php if (${$prefix . "_hash_algorithm"} == "sha256") { ?> selected="selected"<?php } ?>>SHA256</option>
	</select>
</div>

вот так

<div class="col-sm-10">
	<select name="{{ prefix }}_hash_algorithm" id="input-hash-algorithm" class="form-control">
		{% set var = prefix ~ '_hash_algorithm' %}
			<option value="md5"{% if var == "md5" %} selected="selected" {% endif %}>MD5</option>
			<option value="sha1"{% if var ==  "sha1" %}selected="selected"{% endif %}>SHA1</option>
			<option value="sha256"{% if var ==  "sha256" %} selected="selected"{% endif %}">SHA256</option>
	</select>
</div>

но выдает Fatal error: Uncaught Twig_Error_Syntax: Unexpected token "name" of value "" ("end of statement block" expected) in "extension/payment/

 

где я ошибаюсь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
<select name="{{ prefix }}_hash_algorithm" id="input-hash-algorithm" class="form-control">

{% for key,value in prefixs %}
			<option value="{{ key }}">{{ value}}</option>
{% endfor %}			
	</select>

массив prefixs - подготовить в контроллере

И не париться!!!!

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я вот так сделала, так ведь тоже можно, вместо того, чтобы задавать переменную сверху для prefix ~ '_hash_algorithm'

<select name="{{ prefix }}_hash_algorithm" id="input-hash-algorithm" class="form-control">
	<option value="md5"{% if prefix ~ '_hash_algorithm' == "md5" %} selected="selected"{% endif %}>MD5</option>
	<option value="sha1"{% if prefix ~ '_hash_algorithm' ==  "sha1" %} selected="selected"{% endif %}>SHA1</option>
	<option value="sha256"{% if prefix ~ '_hash_algorithm' ==  "sha256" %} selected="selected"{% endif %}>SHA256</option>
</select>

вроде. перестал ругаться. сам функционал проверю только после того, как весь файл в твиг сделаю.

верхний мой вариант тоже работоспособен, там какая-то левая строчка была, из-за неё глюк. после == "md5" здесь в редакторе кода стоит точка, а так её не видно.

	<option value="md5"{% if prefix ~ '_hash_algorithm' == "md5" %} selected="selected"{% endif %}>MD5</option>

 

Ещё есть вопрос. я не уверена, но есть такой код

<input type="text" name="<?php echo $prefix; ?>_merchant_id" value="<?php echo ${$prefix . "_merchant_id"}; ?>.....

разве вот так не одно и то же? я про значения value.

 

<input type="text" name="<?php echo $prefix; ?>_merchant_id" value=<?php echo $prefix; ?>_merchant_id" 

могу же я этот код в твиге писать так?

<input type="text" name="{{ prefix }}_merchant_id" value="{{ prefix }}_merchant_id"

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
15 hours ago, AlexDW said:

ты бы хоть проверил прежде чем советы давать. под сетом в переменную заносится конкатенация содержимого переменной и то что дописано после тильды в кавычках, а не содержимое переменной с постфиксом что и нужно было топик стартеру

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

{{ attribute(_context,'name'~'_01') }}

так работает, отображает данные из переменной "name_01". обрати внимание название переменной передается в кавычках

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.