Gorky20 Posted April 5, 2013 Share Posted April 5, 2013 Hola amigos de Prestashop. Tengo un script externo a Prestashop que lo que hace es generar un csv con la estructura que necesito y después importarlo. Para ello lo que hago es instanciar la clase "AdminImportControllerCore" y llamar a su método "productImport". $import = New AdminImportControllerCore(); $import->productImport(); Esto llevo usándolo ya un tiempo y siempre me ha ido bien. Sin embargo al actualizar a la versión 1.5.4 ya ha dejado de funcionar tirando el siguiente error: Fatal error: Cannot redeclare class AdminImportControllerCore in C:\wamp\www\prestashop154\controllers\admin\AdminImportController.php on line 2817 Y esta es su pila de llamadas: # Time Memory Function Location 1 0.0023 344816 {main}( ) ..\actualizar.php:0 2 0.1203 6047224 cargarProductosPost( ) ..\actualizar.php:81 3 4.3138 10532000 AdminImportControllerCore->productImport( ) ..\actualizar.php:301 4 4.3139 10540648 AdminImportControllerCore->openCsvFile( ) ..\AdminImportController.php:1029 5 4.3148 10541688 Autoload->load( ) ..\AdminImportController.php:0 ¿Alguien sabría decirme qué está ocurriendo? Muchas Gracias. Link to comment Share on other sites More sharing options...
doekia Posted April 6, 2013 Share Posted April 6, 2013 tratar con $import = new AdminImportController(); Link to comment Share on other sites More sharing options...
Gorky20 Posted April 6, 2013 Author Share Posted April 6, 2013 Doekia muchas gracias por responder. Esa fue una de las primeras cosas que probé pero entonces me arroja el siguiente error: ( ! ) Fatal error: Cannot redeclare class CategoryCore in C:\wamp\www\prestashop154\classes\Category.php on line 1547 Call Stack # Time Memory Function Location 1 0.0334 344376 {main}( ) ..\actualizar.php:0 2 3.1924 6047112 cargarProductosPost( ) ..\actualizar.php:81 3 10.3689 10616720 AdminImportControllerCore->productImport( ) ..\actualizar.php:301 4 10.4787 12279072 ProductCore->__construct( ) ..\AdminImportController.php:1040 5 10.6195 12319504 Autoload->load( ) ..\AdminImportController.php:0 Link to comment Share on other sites More sharing options...
doekia Posted April 6, 2013 Share Posted April 6, 2013 Sorry, my spanish is just too bad. Is there any chance that you are implementing a tab based Administration panel? Is this panel extending AdminTab? If both answer are yes, do this: if (version_compare(_PS_VERSION_,'1.5.4','<')) { if (defined('PS_ADMIN_DIR')) require_once(PS_ADMIN_DIR.'/../classes/AdminTab.php'); else if (defined('_PS_ADMIN_DIR_')) require_once(_PS_ADMIN_DIR_.'/../classes/AdminTab.php'); } AdminTab is now automatically autoloaded w/ 1.5.4.0 Link to comment Share on other sites More sharing options...
Gorky20 Posted April 6, 2013 Author Share Posted April 6, 2013 No estoy implimentando una pestaña. Es un script externo al Panel de Administración. I am not implementing a tab. This is an externa script outside Administration Panel. Link to comment Share on other sites More sharing options...
doekia Posted April 6, 2013 Share Posted April 6, 2013 post me your script in private Link to comment Share on other sites More sharing options...
Adsoa Posted September 6, 2013 Share Posted September 6, 2013 Hola Gorky20. Tengo exactamente el mismo problema ¿Lo solucionaste? Gracias Link to comment Share on other sites More sharing options...
inorbit Posted September 29, 2013 Share Posted September 29, 2013 Hola compañeros, estoy en el mismo problema, usando Prestashop 1.5.4.1. Mi intención es la misma que la de Gorky20, crear un script externo para actualizar desde allí los productos y datos la tienda. Gorky20, lo pudiste solucionar? Alguna idea? Muchas gracias! Hello guys, I am stuck at the same problem, using Prestashop 1.5.4.1. Mi idea was same as Gorky 20, to create an external script to update shop products and data from there. Could you solve it? Any help? Lots of thanks! The problem: code define('_PS_ADMIN_DIR_', getcwd());include(_PS_ADMIN_DIR_.'/../config/config.inc.php');include(_PS_ADMIN_DIR_.'/functions.php');include_once '../controllers/admin/AdminImportController.php'; $import = New AdminImportControllerCore(); produces PHP Fatal error: Cannot redeclare class AdminImportControllerCore in /var/www/shop/controllers/admin/AdminImportController.php on line 2811 Link to comment Share on other sites More sharing options...
Gorky20 Posted September 29, 2013 Author Share Posted September 29, 2013 Cada vez que instancies una clase hazo sin el core. Es decir cambia esto $import = New AdminImportControllerCore(); Por esto $import = New AdminImportController(); Link to comment Share on other sites More sharing options...
inorbit Posted September 30, 2013 Share Posted September 30, 2013 Gracias por la contestación Gorky20. Pero me sigue dando el mismo error. He debuggeado un poco mi código, y en realidad la linea: $import = New AdminImportControllerCore(); se ejecuta correctamente (si intento instanciar AdminImportController me salta el error). Es al intentar importar productos cuando falla, en la llamada a: $import->productImport(); Alguna idea? Muchas gracias, estoy algo desesperado en esto. Link to comment Share on other sites More sharing options...
Recommended Posts