Ошибка 500 при регистрации новых адресов для магазина prestashop 1.7

#prestashop-1.7

Вопрос:

Магазин Prestashop показывает ошибку 500 после того, как клиент заполняет форму регистрации адреса и нажимает кнопку Сохранить. Я перевел его в режим отладки, и появилось сообщение о прикрепленном изображении. Кто-нибудь может помочь мне решить эту проблему?

введите описание изображения здесь

Комментарии:

1. вы можете отредактировать упомянутый файл? в строке 62 что-то не так с ключом «имя»

2. пожалуйста, воздержитесь от добавления изображений с внешними ссылками, вместо этого добавьте ошибку /код

Ответ №1:

К сожалению, с учетом предоставленной информации дать окончательный ответ не представляется возможным. Однако очевидно одно: в шаблоне address-form.tpl Prestashop пытается получить доступ к некоторому массиву с индексом name , но имя там не определено.

Я проверил ваш сайт dadpet.com.br , и он использует classic тему, так что маловероятно, что в нем есть какая-либо ошибка программирования. В файле themes/classic/templates/checkout/_partials/address-form.tpl (этот шаблон используется для отображения полей адресной формы) есть только один экземпляр, в котором name осуществляется доступ к индексу, и именно там он проверяет, является ли имя поля псевдонимом:

   {if $field.name eq "alias" and $customer.is_guest}
    {* we don't ask for alias here if customer is not registered *}
  {else}
    {$smarty.block.parent}
  {/if}
 

Вы можете решить эту проблему, проверив, установлено ли name значение, изменив инструкцию if:

   {if isset($field.name) and $field.name eq "alias" and $customer.is_guest}
 

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