如何从Prestashop 1.7.5.1的“按顺序排列的地址”页面编辑“城市”字段

如何从Prestashop 1.7.5.1的“按顺序排列的地址”页面编辑“城市”字段,prestashop,Prestashop,我需要编辑地址选项卡,以便显示城市名称的固定值或包含城市名称的下拉列表。我需要给客户一个单一的选择当他必须选择城市,我试图创建一个特定的区域,但我需要城市字段显示城市的名称 我试图编辑address-form.tpl,但它包含smarty值,我不确定要编辑哪个.tpl文件。我在一篇类似的文章中搜索了一些解决方案,并尝试将表单类型添加到city field classes/form/CustomerAddressFormatter.php if ($field === 'city') {

我需要编辑地址选项卡,以便显示城市名称的固定值或包含城市名称的下拉列表。我需要给客户一个单一的选择当他必须选择城市,我试图创建一个特定的区域,但我需要城市字段显示城市的名称

我试图编辑address-form.tpl,但它包含smarty值,我不确定要编辑哪个.tpl文件。我在一篇类似的文章中搜索了一些解决方案,并尝试将表单类型添加到city field classes/form/CustomerAddressFormatter.php

if ($field === 'city') {
                $formField->setType('select');
                $formField->setType('citySelect');
                $formField->setRequired(true);

                $loc=new Location();         //load data from db
                $result=$loc->getLocations();

                foreach ($result as $value) {
                    $formField->addAvailableValue(
                        $value['area'],
                        $value['area']
                    );
                }
        }
并编辑.tpl文件themes/yourtheme/templates/_partials/form-fields.tpl

{elseif $field.type === 'citySelect'}

      <select
        class="form-control form-control-select chosen-select"
        name="{$field.name}"
        {if $field.required}required{/if}
      >
        <option value disabled selected>{l s='-- please choose --' d='Shop.Forms.Labels'}</option>
        {foreach from=$field.availableValues item="label" key="value"}
          <option value="{$value}" {if $value eq $field.value} selected {/if}>{$label}</option>
        {/foreach}
      </select>
但有些地方出了问题,因为在对文件进行更改后,订单页面是空白的。我还尝试对代码进行一些调整,但没有成功