Автор Тема: Ошибка 500 при оформлении заказа  (Прочитано 250 раз)

06 Август 2017, 14:23:20
  • Пользователь
  • **
  • Сообщений: 58
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Доброго времени суток Формучане!
Столкнулся с бедой, не работает при оформлении заказа переход на способы доставки ошибка 500 Server Error
Из изменений только поменял штаты на город(Переименовал), вбил города вместо названий штатов.
Изменил кол-во символов после запятой.
Но думаю проблема не с моими коррекциями, хотел узнать что может быть и как можно проверить?
Заранее Благодарю!
06 Август 2017, 15:41:55
Ответ #1
  • Пользователь
  • **
  • Сообщений: 58
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В корне в директории нашел файл htaccess, в  нем стоит следующее:
Order deny,allow
Deny from all
Убрал попробовал но результата нет.
06 Август 2017, 16:11:08
Ответ #2
  • Пользователь
  • **
  • Сообщений: 58
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Господа нашел свой косяк!
[PrestaShopException]
Свойство Address->id_country пусто.
at line 944 in file classes/ObjectModel.php

939.             }
940.
941.             $message = $this->validateField($field, $this->$field);
942.             if ($message !== true) {
943.                 if ($die) {
944.                     throw new PrestaShopException($message);
945.                 }
946.                 return $error_return ? $message : false;
947.             }
948.         }
06 Август 2017, 18:33:24
Ответ #3
  • Пользователь
  • **
  • Сообщений: 58
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
А теперь вопрос, я никука не могу найти этот класс??? В корне в classes нет его!!!
06 Август 2017, 19:01:33
Ответ #4
  • Пользователь
  • **
  • Сообщений: 58
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Решил не ломать логику процессов. Проблема в том что город не выходит списком его нужно забивать, а я хочу чтобы он брался из зон. Попробовал различные варианты, но результата нет
06 Август 2017, 20:25:00
Ответ #5
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86543
  • Репутация: +25419/-0
  • Сообщество PrestaShop
    • Просмотр профиля
А теперь вопрос, я никука не могу найти этот класс??? В корне в classes нет его!!!
Файл classes/ObjectModel.php должен быть. Если его нет, перенесите этот файл из установочного пакета prestashop.
07 Август 2017, 18:01:22
Ответ #6
  • Пользователь
  • **
  • Сообщений: 58
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Сам файл я вижу, но убирать проверку не хочу. Проблемы вылетает в том что:
1. Требуется обязательное поле город, но ни зонами ни штатами я не могу сделать выпадающий список, там просто поле текста.
2. Требуется по этой проверке поле мобильный телефон, но само уведомление, стопорящее прохождение не идет. Поэтому выпадает ошибка то что не все данные передаются.
Нашел поле мобильного поставил required, но результата нет.
07 Август 2017, 18:22:37
Ответ #7
  • Пользователь
  • **
  • Сообщений: 58
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
'phone' => array('type' => self::TYPE_STRING, 'validate' => 'isPhoneNumber', 'required' => true, 'size' => 32),
            'phone_mobile' => array('type' => self::TYPE_STRING, 'validate' => 'isPhoneNumber', 'required' => true, 'size' => 32),

Вот 2 строки, в мобильном добавил, но не выходить сообщение что поле обязательно для заполнения не в виде текста не в виде error messages не дающее пройти далее, а вот город, адрес работает, в коде поля идентичны
'city' => array('type' => self::TYPE_STRING, 'validate' => 'isCityName', 'required' => true, 'size' => 64),
07 Август 2017, 19:13:50
Ответ #8
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86543
  • Репутация: +25419/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Вы хотите сделать выпадающий список со всеми городами страны?

Некоторые обязательные поля настраиваются в админке
Клиенты > Управление клиентами
- Задайте поля, обязательные для этого раздела

Клиенты > Адреса
- Задайте поля, обязательные для этого раздела

Локализация > Страны
- Редактировать
Формат адреса ...
07 Август 2017, 19:38:35
Ответ #9
  • Пользователь
  • **
  • Сообщений: 58
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Да, на данное время выпадающий список только у штатов, когда я хотел заменить штаты на города, возникла проблема что поле Город обязательно, убрать его я не смог.
По Вашей консультации, смог настроить обязательные поля, Огромное спасибо, тысячу раз проходил мимо и не увидел.

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

Подскажите советом что можно еще предпринять?

Думаю может получиться Зоны преобразовать в города
07 Август 2017, 19:51:37
Ответ #10
  • Ветеран
  • *****
  • Сообщений: 14187
  • Репутация: +14571/-2
  • Сообщество PrestaShop
    • Просмотр профиля
Ни зоны, ни штаты трогать не нужно. Создайте новую таблицу с городами, измените поле город на список, добавьте в контроллер новую переменную массив городов и выводите города в шаблоне.
07 Август 2017, 20:13:11
Ответ #11
  • Пользователь
  • **
  • Сообщений: 58
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если я все правильно понимаю, таблица в Базе данных, город списком я найду в теме, контролер поищу в папке. Только несколько вопросов:
1. Как я смогу их корректировать во фронте?
2. Нужно будет найти в теме поле города и туда вывести весь массив, массив выборки будет производится в контроллере?
08 Август 2017, 09:44:17
Ответ #12
  • Ветеран
  • *****
  • Сообщений: 14187
  • Репутация: +14571/-2
  • Сообщество PrestaShop
    • Просмотр профиля
Чтобы редактировать города в админке, нужно создать класс City и AdminControllerCity, шаблоны для контроллера.
В теме просто заменить input для города на select и в цикле заполнять option.
09 Август 2017, 18:40:42
Ответ #13
  • Пользователь
  • **
  • Сообщений: 58
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
А что делать с перевозками которые настроены на Зоны и штаты?
09 Август 2017, 18:47:17
Ответ #14
  • Ветеран
  • *****
  • Сообщений: 992
  • Репутация: +10/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Перевозчики привязанны к странам/зонам. Добавление городов на них не повлияет.
При заказе методы доставки определяются по ид зоны.