Magento2 Blog 插件开发

Magento2 博客插件开发系列,插件名称是Cattheme_Blog

1.首先在Magento2后台添加插件:

在 app/code/Cattheme/Blog/ 目录下添加 registration.php 文件:

<?php
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::MODULE,
    'Cattheme_Blog',
    __DIR__
);

在 app/code/Cattheme/Blog/etc/ 下添加 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="Cattheme_Blog" setup_version="1.0.0">
    </module>
</config>

然后,在字符终端下cd 到Magento2的目录,用下面CLI命令激活插件:

$ php bin/magento setup:upgrade

在该命令的输出中如果有 Cattheme_Blog,就表明插件已经激活。

2.添加后台菜单:

在 app/code/Cattheme/Blog/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="Cattheme_Blog::elements" title="Blog" module="Cattheme_Blog" parent="Magento_Backend::content" sortOrder="10" resource="Cattheme_Blog::elements" />
        <add id="Cattheme_Blog::post" title="Posts" module="Cattheme_Blog" parent="Cattheme_Blog::elements" sortOrder="10" action="blog/post" resource="Cattheme_Blog::post" />
        <add id="Cattheme_Blog::category" title="Categories" module="Cattheme_Blog" parent="Cattheme_Blog::elements" sortOrder="20" action="blog/category" resource="Cattheme_Blog::category" />
        <add id="Cattheme_Blog::import" title="Import" module="Cattheme_Blog" parent="Cattheme_Blog::elements" sortOrder="30" action="blog/import" resource="Cattheme_Blog::import" />
    </menu>
</config>

加菜单后,加入Magento2 后台,可以在 Content 里看到新添加的菜单项blog这个,我们可以对比一下没有安装这个插件的变化,这里安装这个插件后多了posts、分类、导入:

3.添加菜单控制:

我们注意第二步添加的菜单项中的 action 分别是 blog/post, blog/category, blog/import, 我们现在要添加 blog 这个 route, 在 app/code/Cattheme/Blog/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="Cattheme_Blog" />
        </route>
    </router>
</config>

未经允许不得转载:哈勃私语 » Magento2 Blog 插件开发

本文共1987个字 创建时间:2017年8月31日17:35   

分享到:更多 ()