1

I have create an admin page but i get 404 error. What i'm wrong?

etc/adminhtml/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="admin">
        <route id="blog" frontName="blog">
            <module name="Altravista_Blog"/>
        </route>
    </router>
</config>

etc/adminhtml/menu.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Backend:etc/menu.xsd">
    <menu>
      <add id="Altravista_Blog::blog" title="Blog" translate="title" module="Altravista_Blog" parent="Magento_Backend::content" sortOrder="50" dependsOnModule="Altravista_Blog" resource="Altravista_Blog::blog"/>
      <add id="Altravista_Blog::blog_posts" title="Posts" translate="title" module="Altravista_Blog" parent="Altravista_Blog::blog" sortOrder="10" dependsOnModule="Altravista_Blog" action="blog/posts" resource="Altravista_Blog::blog"/>
    </menu>
</config>

Controller/Adminhtml/Posts/Index.php

<?php
  namespace Altravista\Blog\Controller\Adminhtml\Posts;

  class Index extends \Magento\Backend\App\Action
  {
    /**
    * @var \Magento\Framework\View\Result\PageFactory
    */
    protected $resultPageFactory;

    /**
     * Constructor
     *
     * @param \Magento\Backend\App\Action\Context $context
     * @param \Magento\Framework\View\Result\PageFactory $resultPageFactory
     */
    public function __construct(
        \Magento\Backend\App\Action\Context $context,
        \Magento\Framework\View\Result\PageFactory $resultPageFactory
    ) {
         parent::__construct($context);
         $this->resultPageFactory = $resultPageFactory;
    }

    /**
     * Load the page defined in view/adminhtml/layout/blog_posts_index.xml
     *
     * @return \Magento\Framework\View\Result\Page
     */
    public function execute()
    {
         //return  $resultPage = $this->resultPageFactory->create();
        die('Hallo Admin');
    }
  }
?>

this is the admin url /admin/blog/posts/index/key/

4
  • Can u share the admin url
    – Narayan S
    Mar 28, 2018 at 12:10
  • i have update the question @NarayanS
    – Altravista
    Mar 28, 2018 at 12:16
  • Logged in as admin role or some other role? Check the _isAllowed permissions
    – Narayan S
    Mar 28, 2018 at 12:31
  • i have admin role user
    – Altravista
    Mar 28, 2018 at 12:36

1 Answer 1

2

Resource

enter image description here

Here is tested code

registration.php

<?php
    /**
    * Simple Hello World Module 
    *
    * @category    QaisarSatti
    * @package     QaisarSatti_HelloWorld
    * @author      Muhammad Qaisar Satti
    * @Email       [email protected]
    *
    */

\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::MODULE,
    'Altravista_Blog',
    __DIR__
);

module.xml

<?xml version="1.0"?>
<!--/**
    * Simple Hello World Module 
    *
    * @category    QaisarSatti
    * @package     QaisarSatti_HelloWorld
    * @author      Muhammad Qaisar Satti
    * @Email       [email protected]
    *
    */ -->
 <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
   <module name="Altravista_Blog" schema_version="0.0.1" setup_version="0.0.1"/>
</config>

menu.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Backend:etc/menu.xsd">
    <menu>
      <add id="Altravista_Blog::blog" title="Blog" translate="title" module="Altravista_Blog" parent="Magento_Backend::content" sortOrder="50" dependsOnModule="Altravista_Blog" resource="Altravista_Blog::blog"/>
      <add id="Altravista_Blog::blog_posts" title="Posts" translate="title" module="Altravista_Blog" parent="Altravista_Blog::blog" sortOrder="10" dependsOnModule="Altravista_Blog" action="blog/posts" resource="Altravista_Blog::blog"/>
    </menu>
</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="admin">
        <route id="blog" frontName="blog">
            <module name="Altravista_Blog"/>
        </route>
    </router>
</config>

Index.php

<?php
  namespace Altravista\Blog\Controller\Adminhtml\Posts;

  class Index extends \Magento\Backend\App\Action
  {
    /**
    * @var \Magento\Framework\View\Result\PageFactory
    */
    protected $resultPageFactory;

    /**
     * Constructor
     *
     * @param \Magento\Backend\App\Action\Context $context
     * @param \Magento\Framework\View\Result\PageFactory $resultPageFactory
     */
    public function __construct(
        \Magento\Backend\App\Action\Context $context,
        \Magento\Framework\View\Result\PageFactory $resultPageFactory
    ) {
         parent::__construct($context);
         $this->resultPageFactory = $resultPageFactory;
    }

    /**
     * Load the page defined in view/adminhtml/layout/blog_posts_index.xml
     *
     * @return \Magento\Framework\View\Result\Page
     */
    public function execute()
    {
         //return  $resultPage = $this->resultPageFactory->create();
        die('Hallo Admin');
    }
  }
?>
7
  • thanks but it does not works :(
    – Altravista
    Mar 28, 2018 at 14:25
  • @Altravista i tested your code it is working fine. Mar 28, 2018 at 14:31
  • I have delete all other module files, copy your code but does not works for me maybe some comand line to launch?
    – Altravista
    Mar 28, 2018 at 15:07
  • Php bin/magento setup:upgrade to run the module Mar 28, 2018 at 15:08
  • just do it also flush cache and compile and reindex
    – Altravista
    Mar 28, 2018 at 15:09

This site is temporarily in read-only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .