Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Xelen

Recommended Posts

Подскажите, как переписать такой код в 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:

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

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.