Как добавить новую страницу в административную панель Magento 2?

Пользователь

от maymie , в категории: PHP , год назад

Как добавить новую страницу в административную панель Magento 2?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от kaleigh , год назад

@maymie 

Для добавления новой страницы в административную панель Magento 2, вам потребуется выполнить следующие шаги:

  1. Создайте модуль для расширения функциональности Magento.
  2. Создайте файл маршрута для вашей страницы. Этот файл определит URL, по которому будет доступна новая страница. Создайте файл etc/adminhtml/routes.xml в вашем модуле и добавьте следующий код:
1
2
3
4
5
6
7
  
    
      
    
  


Здесь mymodule - это идентификатор маршрута. Your_Module - это имя вашего модуля.

  1. Создайте контроллер для обработки запросов к вашей странице. Создайте файл контроллера в папке Controller/Adminhtml/Index вашего модуля и добавьте следующий код:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
resultPageFactory = $resultPageFactory;
    }
    
    public function execute()
    {
        $resultPage = $this->resultPageFactory->create();
        $resultPage->getConfig()->getTitle()->prepend(__('My Custom Page'));
        return $resultPage;
    }
}


  1. Создайте макет для вашей страницы. Создайте файл макета в папке view/adminhtml/layout вашего модуля и добавьте следующий код:
1
2
3
4
5
6
7
  
    
      
    
  


  1. Создайте блок для вашей страницы. Создайте файл блока в папке Block/Adminhtml/MyCustomBlock вашего модуля и добавьте следующий код:
1
2
3
setTemplate('Your_Module::mycustomblock.phtml');
    }
}


  1. Создайте шаблон для вашей страницы. Создайте файл шаблона в папке view/adminhtml/templates вашего модуля и добавьте следующий код:
1
Welcome to My Custom Page!


  1. Пересоберите конфигурацию и очистите кэш Magento:
1
2
php bin/magento setup:upgrade
php bin/magento cache:flush


Теперь вы должны увидеть новую страницу в административной панели Magento 2. Вы можете получить к ней доступ, перейдя по URL-адресу admin/mymodule/index/index.