gngngngn Posted December 1, 2023 Share Posted December 1, 2023 (edited) Bonjour, Je suis en train de développer un module pour réorganiser le Back Office de Prestashop. Tout fonctionne en local sur laragon. J'ai un hub git qui me permet de push mes modifs sur mon serveur de test avant de l'envoyer en prod, et c'est là que cela coince. J'ai beau réinstaller le module avec composer, faire des "composer dump-autoload", j'ai toujours le même problème. Si quelqu'un à une lumière pour me permettre d'avancer je la prends avec grand plaisir. Voici toutes les informations de mon installation presta : Informations du serveur : Linux #1 SMP Debian 5.10.197-1 (2023-09-29) x86_64 Version du logiciel serveur : Apache/2.4.56 (Debian) Version de PHP : 8.2.12 (la version de php n'est pas recommandée avec ce prestashop, mais ça fonctionne très bien sur une autre interface) Limite de mémoire : 8048M Temps maximal d'exécution : 600 Taille max. pour envoi de fichiers : 850M Version de PrestaShop : 8.0.4 presta\modules\foo\composer.json : { "autoload": { "psr-4": { "PrestaShop\\Module\\Addsupplierreference\\Controller\\": "controllers/" } }, "config": { "preferred-install": "dist", "prepend-autoloader": false } } presta\modules\foo\config\services.yml services: custom_admin_product_controller: class: PrestaShop\Module\Addsupplierreference\Controller\Admin\MonProductController decorates: PrestaShopBundle\Controller\Admin\ProductController arguments: ['@custom_admin_product_controller.inner'] custom_admin_order_controller: class: PrestaShop\Module\Addsupplierreference\Controller\Admin\ExtendedOrderController decorates: PrestaShopBundle\Controller\Admin\Sell\Order\OrderController arguments: ['@custom_admin_order_controller.inner'] Voici la déclaration des fichiers php : presta\modules\foo\controllers\admin\ExtendedOrderController.php <?php namespace PrestaShop\Module\Addsupplierreference\Controller\Admin; use PrestaShopBundle\Controller\Admin\Sell\Order\OrderController as BaseOrderController; use Exception; use Db; use DbQuery; use PrestaShop\PrestaShop\Core\Action\ActionsBarButtonsCollection; use PrestaShop\PrestaShop\Core\Domain\Order\Exception\OrderException; use PrestaShop\PrestaShop\Core\Domain\Order\Query\GetOrderForViewing; use PrestaShop\PrestaShop\Core\Domain\Order\QueryResult\OrderForViewing; use PrestaShop\PrestaShop\Core\Domain\ValueObject\QuerySorting; use PrestaShop\PrestaShop\Core\Order\OrderSiblingProviderInterface; use PrestaShopBundle\Form\Admin\Sell\Customer\PrivateNoteType; use PrestaShopBundle\Form\Admin\Sell\Order\AddOrderCartRuleType; use PrestaShopBundle\Form\Admin\Sell\Order\AddProductRowType; use PrestaShopBundle\Form\Admin\Sell\Order\ChangeOrderAddressType; use PrestaShopBundle\Form\Admin\Sell\Order\ChangeOrderCurrencyType; use PrestaShopBundle\Form\Admin\Sell\Order\EditProductRowType; use PrestaShopBundle\Form\Admin\Sell\Order\InternalNoteType; use PrestaShopBundle\Form\Admin\Sell\Order\OrderMessageType; use PrestaShopBundle\Form\Admin\Sell\Order\OrderPaymentType; use PrestaShopBundle\Form\Admin\Sell\Order\UpdateOrderShippingType; use PrestaShopBundle\Form\Admin\Sell\Order\UpdateOrderStatusType; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; class ExtendedOrderController extends BaseOrderController { presta\modules\foo\controllers\admin\MonProductController.php <?php namespace PrestaShop\Module\Addsupplierreference\Controller\Admin; use PrestaShopBundle\Security\Voter\PageVoter; use Db; use DbQuery; use PrestaShopBundle\Controller\Admin\ProductController as BaseProductController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\RedirectResponse; use Symfony\Component\HttpFoundation\Response; class MonProductController extends BaseProductController { Et donc la magnifique erreur : Attempted to load class "ExtendedOrderController" from namespace "PrestaShop\Module\Addsupplierreference\Controller\Admin". Did you forget a "use" statement for "PrestaShop\Module\Addsupplierreference\Controller\admin\ExtendedOrderController"? Dans le debug symfony, il ne passe même pas dans le module voir les fichiers, comme ça fait 2 jours que je suis en galère, je m'en remet à vous ! Merci pour votre aideRésolution : Quote Résolu : mes fichiers se trouvaient dans : presta\modules\foo\controllers\admin\ExtendedOrderController.php alors qu'il attendait de les avoirs ici : presta\modules\foo\controllers\Admin\ExtendedOrderController.php Edited December 4, 2023 by gngngngn Résolution du problème (see edit history) Link to comment Share on other sites More sharing options...
gngngngn Posted December 1, 2023 Author Share Posted December 1, 2023 (edited) Voici le debug de symfony, pour lui c'est bien détecté... : sudo php bin/console debug:container | grep custom_admin_product_controller PrestaShopBundle\Controller\Admin\ProductController alias for "custom_admin_product_controller" custom_admin_product_controller PrestaShop\Module\Addsupplierreference\Controller\Admin\MonProductController custom_admin_product_controller.inner PrestaShopBundle\Controller\Admin\ProductController // To search for a specific service, re-run this command with a search term. (e.g. debug:container log) 00 sudo php bin/console debug:container custom_admin_product_controller Information for Service "custom_admin_product_controller" ========================================================= ---------------- ------------------------------------------------------------------------------ Option Value ---------------- ------------------------------------------------------------------------------ Service ID custom_admin_product_controller Class PrestaShop\Module\Addsupplierreference\Controller\Admin\MonProductController Tags prestashop.core.controllers Public yes Synthetic no Lazy no Shared yes Abstract no Autowired yes Autoconfigured yes ---------------- ------------------------------------------------------------------------------ EDIT : Je viens de réinstaller prestashop sur un autre système local. Le module fonctionne nickel à l'installation. Par contre j'ai essayé de l'installer sur un autre serveur avec une version inférieure à la 8.0.4, mais j'obtiens bien la même erreur : Attempted to load class "ExtendedOrderController" from namespace "PrestaShop\Module\Addsupplierreference\Controller\Admin". Did you forget a "use" statement for "PrestaShop\Module\Addsupplierreference\Controller\admin\ExtendedOrderController"? En local, cela fonctionne comme cela devrait fonctionner juste avec l'archive du module. Donc le mystère persiste, j'ai pensé à un problème de droit, j'ai donc tout passé en chmod 777, rien ne change. Je supprime le cache toujours entre 2 manip. Edited December 1, 2023 by gngngngn Test local / remote (see edit history) Link to comment Share on other sites More sharing options...
gngngngn Posted December 4, 2023 Author Share Posted December 4, 2023 Résolu : mes fichiers se trouvaient dans : presta\modules\foo\controllers\admin\ExtendedOrderController.php alors qu'il attendait de les avoirs ici : presta\modules\foo\controllers\Admin\ExtendedOrderController.php Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now