Resuelto: Error fatal: Error no detectado: Llamar a una función miembro getSectionNames() después de actualizar Magento 2

Estás leyendo la publicación: Resuelto: Error fatal: Error no detectado: Llamar a una función miembro getSectionNames() después de actualizar Magento 2

¿Se enfrenta a una actualización posterior a Magento 2? Lea esta publicación de blog para encontrar la solución completa.

Adobe lanza varias actualizaciones a lo largo del año, corrige varios problemas y agrega nuevas funciones a la plataforma Magento. Las actualizaciones principales se lanzan cada seis o doce meses, con actualizaciones menores y parches en el medio. Estas actualizaciones introducen nuevas características y funcionalidades, correcciones de errores conocidos y mejoras de seguridad.

A veces, estas nuevas funciones pueden entrar en conflicto con las personalizaciones existentes en la tienda y producir errores. Uno de esos errores después de actualizar la versión de Magento es el “Error fatal: error no detectado: llamada a una función miembro getSectionNames ()”

Recientemente enfrenté el mismo problema al actualizar la tienda de un cliente de Magento 2.3.3 a la versión 2.4.5. En una investigación más profunda, encontré la causa raíz del problema.

Comprendamos la causa y el método para resolver el problema.

¿Dónde está el problema?

El lanzamiento de Magento 2.3.4 ha introducido un nuevo argumento llamado sectionNamesProvidertag para los bloques de interfaz. Esto significa que Magento asume un argumento sectionNamesProvider para cada instancia del bloque. Si usa un tema personalizado o ha anulado el archivo predeterminado.xml, es posible que encuentre el error ‘Error fatal: Error no detectado: Llamar a una función miembro getSectionNames()’.

La solución a ‘Error fatal: Error no detectado: Llamar a una función miembro getSectionNames()’

La solución para deshacerse del error en Magento 2 es encontrar el archivo XML al que llama el archivo PHTML personalizado y agregar la etiqueta de argumento.

🔥 Recomendado:  Investigadores de IIIT Allahabad proponen T2CI GAN: un modelo de aprendizaje profundo que genera imágenes comprimidas a partir de texto

Por ejemplo, en mi caso, el error decía:

Error fatal: error no detectado: llamada a una función miembro getSectionNames() en /vendor/magento/module-customer/view/frontend/templates/js/section-config.phtml:20

Por lo tanto, el archivo section-config.phml estaba causando el error aquí.

Aquí, necesitamos encontrar el archivo XML donde se llama este archivo PHTML y agregar la etiqueta de argumento según el archivo predeterminado.xml

Magento\Cliente\Bloque\ProveedorNombresDeSección

template=”Cliente_Magento::js/section-config.phtml”>

Magento\Customer\Block\SectionNamesProvider

¡y el problema se resolverá!
Solución a un error similar:

Espero que el método anterior ayude a resolver el problema.

En caso de que todavía tenga alguna duda, no dude en comentar. 💭

Estaré encantado de ayudarte.

¡No olvides compartir esta solución con tus amigos desarrolladores! 😃

Gracias por leer. 🍀