Jump to content

Argument 3 passed to LinkBlockRepository::__construct() must be an instance of PrestaShopBundle\Translation\TranslatorComponent


Nosoy76

Recommended Posts

Hola a todos. Espero encontrar a alguien que pueda ayudarme.

Me ha llegado un cliente que necesitaba poner al día su tienda. La versión de Prestashop era 1.7.2.0. 

Así que procedí a actualizarla a la versión 1.7.6.1. Lo intenté con 1-Click Upgrade, pero este módulo no funcionaba. Simplemente no hacía al hacer click en el botón "Upgrade Now".

Procedí a actualizarlo de forma manual siguiendo este tutorial: https://vegaweb.es/actualizar-prestashop-1-7-manualmente/, incluyendo las aclaraciones que se realizan en los comentarios. Repasé los pasos también en el tutorial oficial de Prestashop. (https://www.prestashop.com/es/blog/actualizar-prestashop-1-6-a-1-7)

Tras la actualización, la tienda parece ir perfectamente. Pero en el backoffice surgen estos problemas:

1. Al acceder a Catálogo de Módulos, este no se carga mostrando este error:

520544032_CatalogoModulos.thumb.JPG.c5e6747231fa194fcfd401900e3b79a6.JPG

2. No puedo acceder al Gestor de Módulos. Aparecen una serie de errores descritos así, tras activar el modo Debug:

FatalThrowableError

HTTP 500 Internal Server Error

Type error: Argument 3 passed to LinkBlockRepository::__construct() must be an instance of PrestaShopBundle\Translation\TranslatorComponent, instance of PrestaShopBundle\Translation\DataCollectorTranslator given, called in /home/fussions/public_html/tienda/modules/ps_linklist/ps_linklist.php on line 65

Aquí les paso en detalle los errores, en un archivo PDF

TYPEER~1.PDF

3482249_Erro500.JPG.e80e12c2855d49bff46222fbdade6a69.JPG

Y en el aparado Stack Trace:

Symfony\Component\Debug\Exception\FatalThrowableError: Type error: Argument 3 passed to LinkBlockRepository::__construct() must be an instance of PrestaShopBundle\Translation\TranslatorComponent, instance of PrestaShopBundle\Translation\DataCollectorTranslator given, called in /home/fussions/public_html/tienda/modules/ps_linklist/ps_linklist.php on line 65

at modules/ps_linklist/src/LinkBlockRepository.php:12

at LinkBlockRepository->__construct(object(DbPDO), object(Shop), object(DataCollectorTranslator)) (modules/ps_linklist/ps_linklist.php:65) at Ps_Linklist->__construct()

at ReflectionClass->newInstance() (src/Core/Foundation/IoC/Container.php:131)

at PrestaShop\PrestaShop\Core\Foundation\IoC\Container->makeInstanceFromClassName('ps_linklist', array('ps_linklist' => true))

(src/Core/Foundation/IoC/Container.php:164)

at PrestaShop\PrestaShop\Core\Foundation\IoC\Container->doMake('ps_linklist', array('ps_linklist' => true))

(src/Core/Foundation/IoC/Container.php:177)

at PrestaShop\PrestaShop\Core\Foundation\IoC\Container->make('ps_linklist')

(src/Adapter/ServiceLocator.php:65)

at PrestaShop\PrestaShop\Adapter\ServiceLocator::get('ps_linklist') (classes/module/Module.php:1141)

at ModuleCore::coreLoadModule('ps_linklist') (classes/module/Module.php:1120)

at ModuleCore::getInstanceByName('ps_linklist')

(src/Core/Addon/Module/ModuleRepository.php:480)

at PrestaShop\PrestaShop\Core\Addon\Module\ModuleRepository->getModule('ps_linklist', false)

(src/Core/Addon/Module/ModuleRepository.php:570)

at PrestaShop\PrestaShop\Core\Addon\Module\ModuleRepository->getModulesOnDisk(false)

(src/Core/Addon/Module/ModuleRepository.php:213)

at PrestaShop\PrestaShop\Core\Addon\Module\ModuleRepository->getFilteredList(object(AddonListFilter))

(src/PrestaShopBundle/Controller/Admin/Improve/ModuleController.php:116)

at PrestaShopBundle\Controller\Admin\Improve\ModuleController->manageAction() (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:151)

at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:68)

at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, false) (vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:200)

at Symfony\Component\HttpKernel\Kernel->handle(object(Request), 1, false) (admin123/index.php:86)

 

Suponiendo que se trataba de un problema con las traducciones, al dirigirme al apartado Internacional / Traducciones, ocurre exactamente lo mismo.

Espero haber detallado el problema con suficiente precisión. 

¿Alguien puede ayudarme?

Saludos!!!

Link to comment
Share on other sites

Hola Nosoy76, ¿comprobaste que cada uno de los módulos que tenía instalados la tienda están preparados para trabajar bajo el core Prestashop 1.7.6.x?
Partiendo de esto, entiendo que harías copia de seguridad de código y base de datos antes del error, ¿es así?

Lo que yo haría sería lo siguiente en el estado en el que estás: Desactivar los módulos no nativos y overrides y comprobar si la tienda funciona bien. Si es así, iría activando de nuevo cada uno de los módulos hasta dar con el que ocasione el fallo.

Si desactivando todos los módulos no nativos y overrides de la tienda sigue fallando, restaura desde la copia de seguridad que debes tener de antes de empezar con la migración. Una vez restaurada, vuelve a realizar el proceso de actualización ya que en algún paso tuvo que fallar.

Espero que soluciones rápido el problema, cuando nos pasan estas cosas en proyectos de cliente se pasa francamente mal.
Saludos.

Link to comment
Share on other sites

Gracias Luisejo por tu respuesta. 

Tras desactivar todos los módulos no nativos, el error sigue produciéndose. Así que seguiré tu consejo y trataré de restaurar el sitio a su estado anterior... y volver a empezar desde el principio.

Gracias por tu comprensión. Iré informando si encuentro la solución.

 

Link to comment
Share on other sites

Hola de nuevo Luisejo.

Creo que puedo dar carpetazo a este topic. Te comento.

Tras revertir la tienda a su versión original, actualice todos los módulos a su última versión y desactivé aquellos que parecían estar dando problemas.

Tras esto, instalé 1-Click Upgrade, pero seguía sin funcionar, por muchos permisos modificados en los ficheros de PS.

Así que opté nuevamente por la actualización manual. El proceso, descrito en aquel enlace que compartí al principio, acabó con un error 500. Pero para mi sorpresa, el proceso de actualización se realizó correctamente.

Tras acceder al Backoffice, pude actualizar y configurar algunos módulos sin problema alguno.

Aún así, me arriesgué a instalar el módulo PsCleaner y a limpiar y optimizar la BBDD. Y, afortunadamente, todo parece ir perfecto.

Saludos.

Link to comment
Share on other sites

  • 8 months later...

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...