Автор Тема: prestashop 1.6 при добавлении нового адреса нет поля "Город"  (Прочитано 777 раз)

30 Апреля 2014, 22:15:07
  • Новичок
  • *
  • Сообщений: 12
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Всем привет. Заметил такой баг, что при добавлении нового адреса в уже зарегистрированном аккаунте, отсутствует поле "Город", хотя оно обязательно для заполнения, соответственно вылезает ошибка, что это поле не заполнено, а его то нет вообще! Всё перерыл, никак проблему решить не получается... может кто подскажет? (при регистрации нового аккаунта, это поле присутствует).
01 Мая 2014, 10:46:48
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 13446
  • Репутация: +14561/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В шаблоне поле есть? Может оно удалено из шаблона?
01 Мая 2014, 11:17:04
Ответ #2
  • Новичок
  • *
  • Сообщений: 12
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В шаблоне поле есть.
{if $field_name eq 'city'}
<div class="required form-group">
<label for="city">{l s='City'} <sup>*</sup></label>
<input class="is_required validate form-control" data-validate="{$address_validation.$field_name.validate}" type="text" name="city" id="city" value="{if isset($smarty.post.city)}{$smarty.post.city}{else}{if isset($address->city)}{$address->city|escape:'html':'UTF-8'}{/if}{/if}" maxlength="64" />
</div>
{* if customer hasn't update his layout address, country has to be verified but it's deprecated *}
{/i
f}
01 Мая 2014, 11:37:27
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 13446
  • Репутация: +14561/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если убрать условие, будет показывать?
{* if $field_name eq 'city' *}
.....
 {* /if *}
01 Мая 2014, 11:56:15
Ответ #4
  • Новичок
  • *
  • Сообщений: 12
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если убрать условие, будет показывать?
{* if $field_name eq 'city' *}
.....
 {* /if *}

Да, так показывает, но после каждого поля повторяется...
01 Мая 2014, 12:13:02
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 13446
  • Репутация: +14561/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Так уберите вывод поля их цикла, тогда и будет только один раз показывать.
01 Мая 2014, 14:21:01
Ответ #6
  • Новичок
  • *
  • Сообщений: 12
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Так уберите вывод поля их цикла, тогда и будет только один раз показывать.

А как это сделать? Я не очень в этом понимаю...
А у вас всё нормально, только у меня это поле не отображается?
01 Мая 2014, 14:26:25
Ответ #7
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86180
  • Репутация: +25412/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Найдите в шаблоне начало цикла и его окончание. Например, вот так начинается цикл вывода полей
{foreach from=$ordered_atr_fields item=field_name}в нем вырежете код
{if $field_name eq 'city'}
            <div class="required form-group">
               <label for="city">{l s='City'} <sup>*</sup></label>
               <input class="is_required validate form-control" data-validate="{$address_validation.$field_name.validate}" type="text" name="city" id="city" value="{if isset($smarty.post.city)}{$smarty.post.city}{else}{if isset($address->city)}{$address->city|escape:'html':'UTF-8'}{/if}{/if}" maxlength="64" />
            </div>
            {* if customer hasn't update his layout address, country has to be verified but it's deprecated *}
 {/if}
и перенесите его за пределы цикла, вставьте после
{/foreach}
{if $field_name eq 'city'}.....

 
01 Мая 2014, 14:37:27
Ответ #8
  • Новичок
  • *
  • Сообщений: 12
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В таком случае после город будет в самом верху или внизу. А можно сделать чтобы поле было после индекса?
01 Мая 2014, 14:49:35
Ответ #9
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86180
  • Репутация: +25412/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Можно разделить цикл на 2 части, между ними вставить город.
Можно с помощью стилей поменять местами блоки.
Можно функцию на javascript написать, которая будет менять местами блоки (как регионы для страны).
01 Мая 2014, 15:01:07
Ответ #10
  • Новичок
  • *
  • Сообщений: 12
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля