Jump to content

Error al intentar entrar en el menú módulos


Recommended Posts

Buenos días,

Desde hace varios díasno puedo al entrar en el menú módulos me da el siguiente error;

[PrestaShop] Fatal error in module Module.php(1224) : eval()'d :
Can't use function return value in write context

alguien puede ayudarme? Muchas gracias.

Edited by Nacho
cambio en la redacción (see edit history)
Link to comment
Share on other sites

Buenos días,
Después de buscar mucho por internet temas relacionados con este error he encontrado la solución para detectar el módulo que falla, he ido cambiando uno a uno el nombre de cada carpeta de módulo añadiendo _old y probando hasta que he dado con el módulo que provocaba el fallo que era el de mailchimp. La carpeta se llama mailchimpintegration y si la vuelves a dejar con el nombre original (sin _old) ya no puedes entrar en el menú módulos, sale el famoso error.
Una vez visto esto he borrado las archivos de mailchimp en la carpeta modules, y me he ido a instalar de nuevo el módulo a través del backoffice y al clicar en la pestaña instalar vuelve instantáneamente el mismo error, y ya no se puede entrar en los módulos a través del backoffice. Viendo el administrador de archivos la instalación mete un zip en la carpeta modules, y aquí tambié se genera la carpeta llamada mailchimpintegration que es la que provoca el fallo y que se soluciona cambiando el nombre, y por útlimo se genera otra carpeta cuyo nombre consiste en letras y números, dentro de esta carpeta se genera otra carpeta aparentemente igual a mailchimointegration y con el mismo contenido. En definitiva no puedo volver a instalar el mailchimp, a alguien se le ocurre algo para poder instalar mailchimp?
Muchas gracias por adelantado y saludos.

Link to comment
Share on other sites

  • 2 weeks later...
1 minute ago, Nacho said:

Pues yo lo solucioné de la siguiente manera, me fui al explorador de archivos de mi hosting de prestashop y entré en la carpeta módulos, fui cambiando el nombre de cada carpeta de módulo uno a uno añadiendo por ejemplo un número al final y probando a cada cambio de cada carpeta. Si seguía el problema volvía a renombrar la carpeta del módulo con el nombre original y seguía con la siguiente hasta que se solucionó. En mi caso lo que provocaba el fallo era el módulo de mailchimp. Lo quité y todo solucionado. Saludos.

 

Gracias, así se soluciona el error fatal, pero pretendo utilizar el módulo, no quiero quitarlo, el problema parece estar en esta línea de mailchimpintegration.php

if (Tools::getValue('utm_source') == 'mailchimp' || !empty(Tools::getValue('mc_cid'))) {

Quizás es mi versión de PHP 5.4.4, ya que se recomienda 5.5 en la documentación del módulo

Link to comment
Share on other sites

He encontrado la solución, el error estaba donde decía anteriormente.

En mailchimpintegration.php sustituir esto:

  public function hookDisplayHeader($params)
    {
      
        if (Tools::getValue('utm_source') == 'mailchimp' || !empty(Tools::getValue('mc_cid'))) {
            $this->context->cookie->landing_site = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
        }
    }

Por esto:

 public function hookDisplayHeader($params)
    {
      $variablequedabaerror=Tools::getValue('mc_cid');

        if (Tools::getValue('utm_source') == 'mailchimp' || !empty($variablequedabaerror)) {
            $this->context->cookie->landing_site = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
        }
    }

Ahora se instala sin errores y tampoco aparece el error fatal al mostrar todos los módulos.

No he llegado a probar si con una versión más actual de PHP se soluciona sin tener que hacer este cambio.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...