Я пытаюсь создать собственный контроллер в моем модуле Prestashop 1.7.5.
Я создал собственный контроллер:
# /var/www/html/modules/Profit/src/controller/ProductProfitController.php
namespace Profit\Controller;
use PrestaShopBundle\Controller\Admin\FrameworkBundleAdminController;
use Symfony\Component\HttpFoundation\JsonResponse;
class ProductProfitController extends FrameworkBundleAdminController {
public function test() {
return JsonResponse();
}
}
I загрузил класс с моим composer.json
файлом:
# /var/www/html/modules/Profit/composer.json
{
"name": "company/profit",
"description": "Moduł opłacalności",
"authors": [
{
"name": "Name",
"email": "Email"
}
],
"require": {
"php": ">=5.6.0"
},
"autoload": {
"psr-4": {
"Profit\\Controller\\": "src/controller/"
},
"classmap": [
"Profit.php",
"src/"
],
"exclude-from-classmap": []
},
"config": {
"preferred-install": "dist",
"prepend-autoloader": false
},
"type": "prestashop-module",
"author": "Name",
"license": ""
}
Я добавил маршрут в папку routes
моего модуля
# /var/www/html/modules/Profit/config/routes.yml
update_price_cut:
path: Profit/price-cut
methods: [GET]
defaults:
_controller: 'Profit\Controller\ProductProfitController::test'
Пока я не знаю, как получить доступ к этому маршруту. Я пытался:
localhost:8001/admin-dev/Profit/price-cut
localhost:8001/modules/Profit/price-cut
localhost:8001/modules/Profit/Profit/price-cut
localhost:8001/Profit/price-cut
Ничего из этого не работает. Каждый из них приводит к ошибке 404.
Это правильный способ создания маршрутов к пользовательскому контроллеру вашего модуля? Как я могу это исправить?
ПРИМЕЧАНИЕ: Этот контроллер должен быть контроллером BackOffice. Я хочу использовать его для обновления сведений о продуктах из списка продуктов PrestaShop по умолчанию.