Я новичок в Magento и в настоящее время проблема с кнопкой «Заказ места», не работает. Проблема возникает только при входе в мою учетную запись, но если я сделаю покупку, поскольку гость отправит меня на страницу успеха. Я исследовал эту проблему и не отправить мне ответить на этот вопрос, потому что я сделал модуль, который посылает мне следующее сообщение:Место Заказ кнопки не работает Magento
Fatal error: Call to a member function getStreet() on a non-object in cellairis/app/code/local/Cellairis/Ciudades/Model/Observer.php on line 28
Это моя Observer.php. Это выглядит хорошо, и я действительно не знаю, где проблема.
<?php
class Cellairis_Ciudades_Model_Observer {
public function __construct() {
}
public function editAccount(Varien_Event_Observer $observer) {
try {
$result = Mage::getModel('customer/customer') -> getCollection() -> getLastItem();
$customer = Mage::getModel('customer/customer') -> load($result -> getId());
// API METHOD
$method = 'client';
// GET THE EMAIL PARAM
$email = $customer -> getEmail();
// PARAMETER TO API
$data = array('email' => $email);
// CALL HELPER TO CONNECT WITH API
$response = Mage::helper('ciudades/connection') -> connectApi($method, 'POST', $data);
if (empty($response -> client)) {
try {
$cliente = 'M' . $result -> getId();
$nombre = $customer -> getFirstname() . ' ' . $customer -> getLastname();
$direccion = $customer -> getDefaultBillingAddress() -> getStreet(1);
$delegacion = $customer -> getDefaultBillingAddress() -> getCity();
$colonia = $customer-> getDefaultBillingAddress() -> getStreet(2);
$estado = $customer -> getDefaultBillingAddress() -> getRegion();
$pais = $customer -> getDefaultBillingAddress() -> getCountry();
$cp = $customer -> getDefaultBillingAddress() -> getPostcode();
$rfc = $customer -> getDefaultBillingAddress() -> getVatId();
$telefono = $customer -> getDefaultBillingAddress() -> getTelephone();
// IF RESPONSE DOESN'T EXISTS CONNECT WITH WS TO CREATE CUSTOMER IN CELLAIRIS ERP
// API METHOD
$method = 'createCustomer';
// CREATE ARRAY TO SEND TO WS
$data = array(
'Cliente' => $cliente,
'Nombre' => $nombre,
'Direccion' => $direccion,
'Delegacion' => $delegacion,
'Colonia' => $colonia,
'Estado' => $estado,
'Pais' => $pais,
'CodigoPostal' => $cp,
'RFC' => $rfc,
'Telefonos' => $telefono,
'Email' => $email,
'Descripcion1' => 'Ecommerce'
);
// CALL HELPER TO CONNECT WITH API
$createCustomer = Mage::helper('ciudades/connection') -> connectApi($method, 'POST', $data);
$customer -> setNoCliente($cliente);
$customer -> save();
} catch (Exception $ex) {
Mage::log(Mage::app() -> getRequest() -> getRouteName() . "/" . Mage::app() -> getRequest() -> getControllerName() . "/" . Mage::app() -> getRequest() -> getActionName() . " -> Ocurrio un error con el Cliente " . $email . ". ERROR=" . $ex -> getMessage(), Zend_Log::ERR);
return false;
}
}
} catch (Exception $e) {
Mage::log(Mage::app() -> getRequest() -> getRouteName() . "." . Mage::app() -> getRequest() -> getControllerName() . "." . Mage::app() -> getRequest() -> getActionName() . " > " . $e -> getMessage(), Zend_Log::ERR);
}
}}
Я ценю вашу быструю помощь. Благодарю.
исправить код форматирования –