Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

помогите с переводом Twig на PHP


Xelen
 Погделиться

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

Подскажите, как можно на пхп перевести икую строчку?

 

{{ attribute(_context, 'shipping_venipak_shipping_method_title_' ~ geo_zone.geo_zone_id|default(shipping_venipak_shipping_method_title) ) }}

она передается как value для поля формы

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

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

Циии

if (isset(${'shipping_venipak_shipping_method_title_' . $geo_zone['geo_zone_id']})) {
echo ${'shipping_venipak_shipping_method_title_' . $geo_zone['geo_zone_id']}; {
} else {
echo $shipping_venipak_shipping_method_title;
}

 

 

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

08.12.2022 в 14:08, chukcha сказал:

 

 

Попропотому чтовала, что-то не то выходит

 

 Вот, смотрите оригинальный код для опенкарт 3, он нормально отрабатывает. Сначала показывает заглушку(default) для поля, которая прямо в когде контроллера через тернарник.

$data['venipak_shipping_method_title_' . $geo_zone_id] = $this->getParam('venipak_shipping_method_title') ?: 'Venipak';

После заполнения поля, отправляет в базу настройку shipping_venipak_shipping_method_title_(айди геозоны). И потом, при редактировании поля, им всегда то, что в этот настройке. Эи переменная естественно не одна, а создается под каждую зону. Даих полей много, это поле лишь образец.

Вот полный код одного из инпутов в твиге.

 

<input type="text"
name="shipping_venipak_shipping_method_title_{{ geo_zone.geo_zone_id }}"
value="{{ attribute(_context, 'shipping_venipak_shipping_method_title_' ~ geo_zone.geo_zone_id|default(shipping_venipak_shipping_method_title) ) }}"
id="input-shipping_venipak

 

В опенкарт 2 поменялись переменные , спереди убрала shipping_

Сейчас закинула ваш код, но мне выдает только гдефолтное значение. Не понимаю, что не ик в опенкарт 2, если в опенкарт 3 оно отрабатывает?

<input type="text"
name="venipak_shipping_method_title_<?php echo $geo_zone['geo_zone_id']; ?>"
value="<?php if (isset(${'venipak_shipping_method_title_' . $geo_zone['geo_zone_id']})) {echo ${'venipak_shipping_method_title_' . $geo_zone['geo_zone_id']};} else {echo $venipak_shipping_method_title;} ?>"
id="input-venipak_shipping_method_title_<?php echo $geo_zone['geo_zone_id']; ?>"
class="form-control" />

 

в базу переменная прилеиет

 

 

1376147416_.png.044270d7eddb505dd158ec5806c85407.png

 

а в админке вот

 

76865144_.png.a8be5a4f077527880c5c06d55fe5644d.png

 

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

08.12.2022 в 07:28, Tom сказал:

 

Это уже пропотому чтовала, им выдает конструкцию

 

<?php echo $context[('shipping_venipak_shipping_method_title_' . isset($geo_zone['geo_zone_id'], $shipping_venipak_shipping_method_title))]; ?>

 и плюется ошибкой

 

1953087206_.png.c76541147cb24ce249b62927498ecefd.png

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

В 08.12.2022 в 17:17, Xelen сказав:
shipping_venipak_shipping_method_title

зналит ее нет
 

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

08.12.2022 в 17:30, chukcha сказал:

зналит ее нет
 

 

 

Извините меня да, да я нашла почему, тут запуилась из-за разницы в названии переменных в оп3 и оп2

 

посмотрите выше поправила пост, сейчас им отображает только гдефолт

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

у вас должна суещёствовать переменная
 

'venipak_shipping_method_title_' . $geo_zone['geo_zone_id']
Ссылка на комменирий
Погделиться на других сайих

08.12.2022 в 17:35, chukcha сказал:

у вас должна суещёствовать переменная
 

'venipak_shipping_method_title_' . $geo_zone['geo_zone_id']

 

ик она создается динамически, в зависимости от зоны, и когда я отправляю текст Venipak lv, то она и создается в базе

 

867470340_.png.411a6edce4f6f5bac7394b107ddcde71.png

 

как это отрабатывает нормально в опенкарт 3?

 

насколько я понимаю, это переменная переменной, но тут у меня знания пока заканливаются

 

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

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

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

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