Заполните поле «Псевдоним» при вводе первого адреса / добавлении адреса во время оформления заказа. (PS 1.7) - PullRequest
0 голосов
/ 19 января 2019

Я уже заглянул в FormField.php и CustomerAddressFormatter.php и никак не мог понять это.

Я пытаюсь добиться:

Чтобы отобразить поле «псевдоним», когда клиент добавляет свой первый (или следующий) адрес через кассу.На данный момент это поле отображается только при редактировании адреса на странице «Ваша учетная запись».Сделайте поле 'псевдоним' обязательным.Учитывая, что разница в полях между добавлением адреса за пределами страницы «Ваша учетная запись» и адреса на странице учетной записи равна 10 против 11, я решил, что должно быть два разных файла .php, и что настройка должна быть относительно быстройи просто.Однако, потратив на это 7 часов, я решил попросить помощи в поиске соответствующих файлов.

После дальнейших поисков я обнаружил, что address-form.tpl содержит соответствующий раздел.Теперь я получил псевдоним, чтобы показать в нужном месте.То, с чем я сейчас борюсь, заставляет это быть обязательным.Я подозреваю, что CustomerAddressFormatter.php является соответствующим файлом.

1 Ответ

0 голосов
/ 23 января 2019

Как я уже сказал в качестве комментария к вашему другому вопросу, поле псевдонима уже требуется по умолчанию.

Причина, по которой может показаться, что это не так, заключается, я полагаю,этот маленький кусочек кода в CustomerAddressForm.php:

if (empty($address->alias)) {
    $address->alias = $this->translator->trans('My Address', [], 'Shop.Theme.Checkout');
}

, который заполняет поле переводом «Мой адрес».Так что в качестве простого способа принудительного ввода в это поле просто удалите эту строку (конечно, в переопределении!).Вы, вероятно, должны добавить некоторые реальные проверки и соответствующие сообщения об ошибках (не уверен, если это может быть еще не там).

Чтобы добавить немного контекста к этому: поле псевдонима раньше отображалось по умолчанию в PSверсия <1.7.Это вызвало большое раздражение, так как это поле в значительной степени уникально для интернет-магазинов prestashop, и клиенты часто не знали, для чего оно было. </p>

...