Добрый день
Подскажите пожалуйста как решить проблему
при оформлении заказа гостем, на 2 шаге "Информация о плательщике" вываливается собщение "Имя не может быть пустым., Фамилия не может быть пустой",
при этом все имеющиеся поля были предварительно заполнены.
Из моих наблюдений после 2 шага если галка  "Использовать адрес плательщика" установлена то все информация в 3 шаге должна подтягивается из 2-го, но по некоторой причине этого не происходит.
в консоли никаких ошибок нет. В файлы php, js,  никто правки не вносил.
Установлен модуль "Customer Attributes meneger", проблема возникла после правок некоторых позиций. После обнаружения проблемы все правки востановили в первоначальное состояние но проблему это не решило. 
Буду благодарен за помошь.
Проблема возникает из-за расширения. Для некоторых полей почему-то не получают проверены.
Вы должны проверить, если ID и class из этих поле соответствует шаблон Magento по умолчанию
В начале у меня тоже быбо такое мнение, я сверил с базовой установкой с установленым этим модулем поля firstname, lastname полностью соответствуют, помимо этого даный модуль вообще не позволяет изменить код существующего атрибута, т.е. изменить код "firstname", "lastname" сознательно хотел но у меня это не получилось, ID изменить также невозможно.
Можно совсем удалить адрибут, но тогда при повторном его создании он будет иметь другой ID.
Но сверяя из мускуля коды и  ID этих параметров - они полностью идентичны.
Открючение этого "Customer Attributes meneger" модуля так же не дало положителных результатов
У вас есть адресс где можно посмотреть?
Обычно это связанно с классами проверки, я думаю скорее всего првоерка стоит не та то поле, или ищет дополнительное или скрытое поле.
да конечно же
предварительно нужно что либо положить в корзину, 
glasstrend.ru/checkout/onepage
Вроде отправляет корректную информацию.
Возможно конфликт полей. Надо смотреть что принимает контроллер.
Но для начала убедитесь что выключен любой Кэш, и режим компиляции выключен. Он доступен в System->Tools->Compilation
Лог :
billing[address_id] billing[city] Brooklyn billing[confirm_password] billing[country_id] RU billing[customer_password... billing[email] test@gmail.com billing[fax] billing[firstname] test billing[lastname] test billing[postcode] 11229 billing[region] billing[region_id] 498 billing[save_in_address_b... 1 billing[street][] street1 billing[telephone] 123123123 billing[use_for_shipping] 1
да это в дебагере я видел,
Компиляция отключена,
можете подсказать в каком контролере нужно отловить данные?
Проверка скорее всего в модели
Mage_Customer_Model_Customer::validate()
Глянуть трэйс и смотреть что и где теряется.
вот фрагмент объект Mage_Sales_Model_Quote_Address
https://www.dropbox.com/s/ht17o8lwe9ozai9/Mage_Sales_Model_Quote_Address%20Object.txt?dl=0
правда для меня он мало информативный, у кого то есть идеи/предложения?
валидация происходит в функции saveBlling - app/code/core/Mage/Checkout/Model/Type/Onepage.php
1) Проверьте какое из условий выдает ошибку
                $address->importCustomerAddress($customerAddress)->setSaveInAddressBook(0);
                $addressForm->setEntity($address);
                $addressErrors  = $addressForm->validateData($address->getData());
                if ($addressErrors !== true) {
                    return array('error' => 1, 'message' => $addressErrors);
                }
2)
        // validate billing address
        if (($validateRes = $address->validate()) !== true) {
            return array('error' => 1, 'message' => $validateRes);
        }
Для первого случая проверьте какой из атрибутов выдает ошибку в app/code/core/Mage/Eav/Model/Form.php Line 390
    /**
     * Validate data array and return true or array of errors
     *
     * @param array $data
     * @return boolean|array
     */
    public function validateData(array $data)
    {
        $errors = array();
        foreach ($this->getAttributes() as $attribute) {
            if ($this->_isAttributeOmitted($attribute)) {
                continue;
            }
            $dataModel = $this->_getAttributeDataModel($attribute);
            $dataModel->setExtractedData($data);
            if (!isset($data[$attribute->getAttributeCode()])) {
                $data[$attribute->getAttributeCode()] = null;
            }
             
            $result = $dataModel->validateValue($data[$attribute->getAttributeCode()]);
            /* Check attribute Code & Result */
            if ($result !== true) {
                $errors = array_merge($errors, $result);
            }
        }
        if (count($errors) == 0) {
            return true;
        }
        return $errors;
    }