Adrian Cabeza

0 %
Adrian Cabeza
Paraty Tech
Front-end Lead Developer
Español
Ingles
HTML/ CSS3/ Javascript
Python
jQuery / SASS
Google Appengine / AWS
Jenkins
Google Analytics
React
Flutter
  • GIT
  • Sass, Less
  • Webpack
  • Django / Flask / Jinja2
  • RabbitMQ
  • PostrgreSQL / MongoDB
  • REST
  • Google Tag Manager
  • Administración de Sistemas
  • Administración de Redes

Prestashop 1.7.8.x – Webservice bug

10 de octubre de 2022

Trying to access array offset on value of type null

Tras la última actualización recibida en Prestashop, ha surgido un problema, que por desgracia todavía no tiene un fix subido, y por lo que se indica no se va a subir hasta las versión 1.8.x

Este error trata de lo siguiente, al haber sufrido una actualización PHP y pasar a ser PHP7.4, Prestashop ha dejado de estar soportado en algunos de sus puntos.

Aunque por el momento siguen trabajando para lanzar una versión oficial en la que se pueda trabajar correctamente, nos va a tocar salir del paso por cuenta propia.

 

El error consiste en lo siguiente, al intentar acceder a un recurso del WebService, este nos devuelve el siguiente error.

[PHP Notice #8] Trying to access array offset on value of type null (/...classes/webservice/WebserviceOutputBuilder.php, line 716) and [PHP Notice #8]

Trying to access array offset on value of type null (/.../classes/webservice/WebserviceOutputBuilder.php, line 719)

Solución

Para arreglar este problema debemos realizar lo siguiente, será añadir un nuevo comprobador a la parte del código correspondiente dentro de nuestro proyecto Prestashop

/classes/webservice/WebserviceOutputBuilder.php

Una vez hemos accedido a este archivo, pasamos a realizar los siguientes cambios

/classes/webservice/WebserviceOutputBuilder.php

Linea 716

Original: $field['value'] = $object_assoc['id'];
Nuevo: $field['value'] = isset($object_assoc['id']) ? $object_assoc['id'] : '';

Linea 719

Original: $field['value'] = $object_assoc[$field_name];
Nuevo: $field['value'] = isset($object_assoc[$field_name]) ? $object_assoc[$field_name] : '';
Posted in Desarrollo, PHPTags:
Write a comment