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 aide
Résolution :
QuoteRé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
.png.022b5452a8f28f552bc9430097a16da2.png)