最近换了新的项目组,项目组使用的nop框架开发电商网站.但是本人从来没有接触过这种二次开发的框架,在使用学习的过程中走了不少弯路,上周刚刚学会了如何编写新的插件,趁还没有忘掉给大家分享一下.
刚下载的新项目的结构是这样的:
其实官方给出了编写新插件的方法,但是不够仔细:如何为nopCommerce编写插件
首先,我们如果要新建一个新插件,就应该在Plugins下新建一个类库项目,注意,这个类库的类型必须是.net standard(命名时注意命名规范)
编辑该类库项目,将内容替换为以下代码
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net461</TargetFramework>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<OutputPath>..\..\Presentation\Nop.Web\Plugins\PLUGIN_OUTPUT_DIRECTORY</OutputPath>
<OutDir>$(OutputPath)</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<OutputPath>..\..\Presentation\Nop.Web\Plugins\PLUGIN_OUTPUT_DIRECTORY</OutputPath>
<OutDir>$(OutputPath)</OutDir>
</PropertyGroup>
<!-- This target execute after "Build" target -->
<Target Name="NopTarget" AfterTargets="Build">
<!-- Delete unnecessary libraries from plugins path -->
<MSBuild Projects="$(MSBuildProjectDirectory)\..\..\Build\ClearPluginAssemblies.proj" Properties="PluginPath=$(MSBuildProjectDirectory)\$(OutDir)" Targets="NopClear" />
</Target>
</Project>
其中PLUGIN_OUTPUT_DIRECTORY应替换为插件名称,我的名称是Misc.Test.
接下来我们需要编写plugin.json,我们可以从其他类库直接复制过来一个,然后修改
各个属性官方都给出了解释:https://docs.nopcommerce.com/en/developer/plugins/plugin.json.html
我们还需要把plugin.json的属性修改为
然后我们需要给项目添加项目引用:Nop.Web.Framework最后一个必需的步骤是创建一个实现接口的类,然后实现BasePlugin接口
然后我们生成一下解决方案,如果在Presentation的Plugin下看到我们的插件文件夹,就证明插件添加成功了
现在,我们就可以在管理页面上通过Admin area → Configuration → Plugins 查看我们添加的插件了,但我们的插件什么也没做。它甚至没有用于其配置的用户界面。还需要我们创建一个页面来配置插件。
我们现在需要做的是创建一个控制器、一个模型和一个视图.下一篇我们会讲到.