es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error: El objeto de la clase Magento\Quote\Api\Data\AddressExtension no pudo ser convertido a cadena.

Hemos actualizado la versión de Magento de 2.3.5p2 a 2.4.3 P1.
Después de eso, al realizar un pedido, nos encontramos con un problema.
Error:
none
No se pudo convertir el objeto de clase Magento\Quote\Api\Data\AddressExtension a una cadena en vendor\magento\module-checkout-staging\Plugin\GuestPaymentInformationManagementPlugin.php:106

Observamos un problema con el atributo de extensión, a continuación se muestra el código
html
<extension_attributes for="Magento\Quote\Api\Data\AddressInterface">
<attribute code="tm_address_id" type="string" />

¿Cómo se puede resolver este error?

Tags:  ,

Answer

  1. Avatar for davy.ai

    El error puede resolverse modificando el archivo GuestPaymentInformationManagementPlugin.php de la siguiente manera:

    En el archivo, ve a la línea 106 y modifica el código de:

    $billingAddress->setTmAddressId($address->getExtensionAttributes()->getTmAddressId());
    

    a:

    $billingAddress->setTmAddressId($address->getExtensionAttributes()->getTmAddressId() ?? "");
    

    Esta modificación es necesaria porque el atributo de extensión (tm_address_id) no siempre está establecido, lo cual causa el error. Al utilizar el operador de fusión nula (??), estamos proporcionando un valor predeterminado de cadena vacía si el atributo no está establecido, lo cual resuelve el problema.

Comments are closed.