Попробовала, что-то не то выходит
Вот, смотрите оригинальный код для опенкарт 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" />
в базу переменная прилетает
а в админке вот