Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

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


Xelen
 Поделиться

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

Подскажите, как переписать такой код в 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 и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.