Сообщение контроллера Magento 2 выдает ошибку 404

Я столкнулся с проблемой, пытаясь добавить новое действие к существующему маршруту в Magento 2.

Я создал новый модуль, зарегистрировал его и создал новое действие, расширяющее существующую функциональность добавления в корзину. У меня это работало над существующим проектом, но мне пришлось перенести его на новую установку. Теперь, когда я пытаюсь выполнить POST по пути: <magentourl>/checkout/cart/addbulk, он выдает ошибку 404. Запрос GET вызовет метод выполнения и создаст запись в журнале.

Ниже приведены компоненты модуля.

приложение/код/тест/оформить заказ/и т. д./module.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
    <module name="Test_Checkout" schema_version="2.0.0" setup_version="2.0.3">
        <sequence>
            <module name="Magento_Checkout"/>
        </sequence>
    </module>
</config>

приложение/код/тест/оформить заказ/и т. д./интерфейс/routes.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
    <router id="standard">
        <route id="checkout" frontName="checkout">
            <module name="Test_Checkout" />
        </route>
    </router>
</config>

приложение/код/Тест/Оформить заказ/Контроллер/Корзина/Addbulk.php

<?php
namespace Test\Checkout\Controller\Cart;

class Addbulk extends \Magento\Checkout\Controller\Cart\Add
{

    public function execute()
    {
        $items = $this->getRequest()->getParam('item', []);
        $this->_objectManager->get('Psr\Log\LoggerInterface')>addDebug('Posting data to addBulk');

        ...

        return $this->_goBack();
    }
}

Я включил модуль, запустил bin/magento setup:upgrade, очистил кеш и попытался опубликовать. Когда я делаю POST, он возвращает ошибку 404, при GET он создает запись в журнале, как и ожидалось.

Кто-нибудь знает, почему этот модуль не был правильно перенесен, или что-то еще, что мне нужно добавить, чтобы это заработало?


person Piotr Burdzinski    schedule 20.01.2016    source источник
comment
Какой режим развертывания вы установили? Вы пытались очистить все файлы кеша + сгенерированные файлы кода также в вашей файловой системе?   -  person bpoiss    schedule 21.01.2016


Ответы (3)


Вы пробовали это после создания контроллера?

bin/magento setup:di:compile

Или включить Developer mode?

person Paul T. Rawkeen    schedule 21.01.2016

Оказывается, сама среда была нарушена. Я успешно установил свой модуль на новую установку magento 2.

person Piotr Burdzinski    schedule 21.01.2016

bin/magento cache:disable

Очистить содержимое папок

сгенерированный/код и сгенерированный/метаданные.

Также проверьте кеш PHP-FPM или OPCACHE.

person marmureanuweb    schedule 12.11.2019