El error es el siguiente:

Fatal error: Uncaught Error: Access to undeclared static property: Validate::$data

Ocurre cuando el usuario va a registrarse y Prestashop intenta validar los datos. También sucede cuando se registra sin estar logueado a la hora de comprar un producto.

Para solucionarlo deberéis ir al fichero del ftp: classes/ObjectModel.php en la linea 1032 y modificar este código:

if (!empty($value) || $value === '0' || ($field == 'postcode' && $value == '0')) {
    if (isset($data['validate']) && !Validate::$data['validate']($value) && (!empty($value) || $data['required'])) {
                $errors[$field] = '<b>'.self::displayFieldName($field, get_class($this), $htmlentities).'</b> '.Tools::displayError('is invalid.');
            } else {
                if (isset($data['copy_post']) && !$data['copy_post']) {
                    continue;
                }
                if ($field == 'passwd') {
                    if ($value = Tools::getValue($field)) {
                        $this->{$field} = Tools::encrypt($value);
                    }
                } else {
                    $this->{$field} = $value;
                }
            }
        }

Por este:

if (!empty($value) || $value === '0' || ($field == 'postcode' && $value == '0')) {
   if (isset($data['validate']) && !call_user_func('Validate::'.$data['validate'],$value) && (!empty($value) || $data['required'])) {
    $errors[$field] = '<b>'.self::displayFieldName($field, get_class($this), $htmlentities).'</b> '.Tools::displayError('is invalid.');
            } else {
                if (isset($data['copy_post']) && !$data['copy_post']) {
                    continue;
                }
                if ($field == 'passwd') {
                    if ($value = Tools::getValue($field)) {
                        $this->{$field} = Tools::encrypt($value);
                    }
                } else {
                    $this->{$field} = $value;
                }
            }
        }