Выбрать пользовательские поля в списке адресов в Opencart: 2.3 - PullRequest
0 голосов
/ 04 апреля 2020

Я создал настраиваемое текстовое поле (названное GST) в адресной строке. Итак, каждый адрес имеет свое поле GST. Когда мы go в адресной книге в нашей учетной записи, там у нас есть список наших адресов. Которые содержат все данные полей, такие как: имя, адрес электронной почты, адрес и т. Д. c .., но не настраиваемые поля. Итак, я хочу получить все настраиваемые поля вместе с адресами на странице списка адресов (address_list.tpl).

Для извлечения адресов есть защищенная функция getList () в каталоге: catalog / контроллер / учетная запись / адрес. php

Таблица адресов содержит данные настраиваемого поля в виде $ result ['custom_field'] в этой форме {"1": "GST"} ("1" - это custom_field_type & "GST "is value)

ТАК, я попробовал это, добавил это в каталог / контроллер / аккаунт / адрес. php в функция getList ()

$this->load->model('account/custom_field');
$account_custom_fields = $this->model_account_custom_field->getCustomFields($this->customer->getGroupId());


if (is_array($result['custom_field'])) {
      foreach ($result['custom_field'] as $key => $custom_field) {
          $account_custom_field_value = $custom_field;

          if (isset($account_custom_fields[$key]['type'])) {
              if ($account_custom_fields[$key]['type'] == 'select' || $account_custom_fields[$key]['type'] == 'radio' || $account_custom_fields[$key]['type'] == 'checkbox') {
                  foreach ($account_custom_fields[$key]['custom_field_value'] as $custom_field_option) {
                      if ($custom_field_option['custom_field_value_id'] == $account_custom_field_value) {
                          $account_custom_field_value = $custom_field_option['name'];
                      }
                  }
              }
          }

          $format = str_replace('{custom_field_' . $key . '}', $account_custom_field_value, $format);
      }
  }


  $format = preg_replace('/(({custom_field(.*?)?}))/sim', '', $format);

Но не работает, Есть идеи, как этого добиться.

Любая помощь приветствуется

...