关于NopCommerce3.6版的@Html.Widget(“home_page_top”)的说明
以首页幻灯片为例子,首页幻灯片是在插件Nop.Plugin.Widgets.NivoSlider里面实现的
- 首页视图位置
- 这里其实是加载插件里面的视图内容,具体实现在插件实现
- 这个是扩展方法,就是执行Nop.Web 下面的WidgetController控制器里面的子动作WidgetsByZone
这个WidgetByZone就是查找当前已使用的@Html.Widget(“xxx”)并返回相应的控制器名字,方法名和路由值
- Widget控制器位置
LoadActiveWidgetsByWidgetZone此方法是加载活动的@Html.Widget(“xxx”)的方法,具体实现大家可在相应实现类找到,注意它的返回对象是IWidgetPlugin接口
- 这个方法根据参数名就知道是通过@Html.Widget(“xxx”)里面的xxx作为参数找到实现@Html.Widget(“xxx”)这个的插件,具体实现在方法里面有
这里面是那个IWidgetService的实现类,这里的3方法后面跟着的是模糊查询,所以会根据页面有@Html.Widget(“xxx”)的xxx找到具体实现的插件
- 实现类的具体位置
- 加载已活动的@Html.Widget(“xxx”)实现方法
- 这个方法是定定义在插件里头的,它被定义在IWidgetPlugin接口下,所有有需要实现@Html.Widget(“xxx”)的插件都必须实现该接口
1. 幻灯片插件的位置
2. 实现IWidgetPlugin接口
3. 实现IWidgetPlugin接口下面的GetWidgetZones方法并在IWidgetService接口下的实现类被调用实现
--鱼头鱼尾
这就是我对nop里面的@Html.Widget(“xxx”)的理解,个人拙见,还望各位看官多多包涵。其它有什么细节的事可以在群里发问或者私聊我,我会的就帮忙。(群号: 75272942)
个人联系QQ:875755898
关于NopCommerce3.6版的@Html.Widget(“home_page_top”)的说明的更多相关文章
- nopcommerce里面的@Html.Widget("home_page_top") 是什么?
很多朋友在修改模板的时候看到很多类似@Html.Widget("xxx")的东西,这里简单介绍一下流程: 比如@Html.Widget("home_page_top&qu ...
- 如何定制Gtk版Emacs的Widget外观
当我们使用 xlib 版的Emacs时,可以通过 XResource 定义 Emacs 的菜单 栏.工具条.滚动条的外观. 现在,在Linux上我们大多使用 gtk版的Emacs,是否还有办法定义 E ...
- 关于NopCommerce3.6版用户登录详解
一.登录方式 Nop登录方式有两种(且只能选择一种方式登录):一种是用用户名登录,另一种是用户注册邮箱登录,这个在后台可配置: 第一种:用户名登录 后台配置路径在商城设置à设置管理à客户设置:使用用户 ...
- 如何对抗 WhatsApp「蓝色双勾」-- 3 个方法让你偷偷看讯息
WhatsApp 强制推出新功能「蓝色双勾 (✔✔)」 ,让对方知道你已经看过讯息.一众用户反应极大,因为以后不能再藉口说未看到讯息而不回覆.究竟以后 WhatsApp 是否真的「更难用」? 幸好还有 ...
- EC读书笔记系列之13:条款25 考虑写出一个不抛异常的swap函数
记住: ★当std::swap对你的类型效率不高时,提供一个swap成员函数,并确定其不抛出异常 ★若你提供一个member swap,也该提供一个non-member swap来调用前者.对于cla ...
- nopCommerce 3.9 大波浪系列 之 网页加载Widgets插件原理
一.插件简介 插件用于扩展nopCommerce的功能.nopCommerce有几种类型的插件如:支付.税率.配送方式.小部件等(接口如下图),更多插件可以访问nopCommerce官网. 我们看下后 ...
- web appbuilder 正式版用yo esri-appbuilder-js:widget生成widget读取不到config解决方案
对于在webappBuilder正式版中,如果用yo esri-appbuilder-js:widget生成的widget,在写widget的时候widget里面的config.json ...
- nopcommerce3.3简洁版
从nopcommerce里面分离出了基础框架,包括了用户.新闻.单页面.投票等模块,可以作为快速开发asp.net mvc项目的方案,有兴趣的朋友可以下载看看,由于时间仓促可能会有一些多余的文件没有清 ...
- Web AppBuilder Widget使用共享类库的方式
Web AppBuilder是Esri公司推出的快速WebGIS应用搭建工具,具有以下特性: 不需要编程,快速创建应用 WYSIWYG 交互式应用 支持2D和3D应用 基于ArcGIS API for ...
随机推荐
- 【1-4】jQuery代码风格-导航栏
实现一个导航栏,单机不同的商品名称链接,显示相应的内容,同时高亮显示当前选择的商品. 实现功能如图: css: /* reset */ ;padding:0 0 12px 0;font-size:12 ...
- Cacti不显示图片(nan)
1.发现多半是SNMP的配置问题 被监控端安装snmp yum -y install net-snmp net-snmp-devel 被监控端安装配置snmp vim /etc/snmp/snmpd. ...
- Python 数据排序和列表迭代和列表推导应用
1.In-place sorting 原地排序 data=[6,4,5,2,3,1] print ('before sort', data) data.sort() print ('after sor ...
- Android 启动模拟器是出现“Failed to allocate memory: 8”错误提示的原因及解决办法
某天,Android 启动模拟器是出现“Failed to allocate memory: 8”错误,模拟器无法启动,如下图: 原因:设置了不正确AVD显示屏模式,4.0版默认的模式为WVGA800 ...
- 如何巧用.htaccess设置网站的压缩与缓存
<IfModule mod_expires.c> ExpiresActive On ExpiresDefault A86400 ExpiresByType image/gif A25920 ...
- 黄聪:使用$.getJSON解决ajax跨域访问 JQuery 的跨域方法(服务器端为wordpress程序)
客户端: <input id="cat" name="cat" type="hidden" value="<? ech ...
- HTTP协议的安全性--全站HTTPS
HTTP Basic Authentication很容易让攻击者监听并获取用户名密码.使用Base64来encode用户名密码也只是为将用户名和口令中的不兼容字符转换为均与HTTP协议兼容的字符集. ...
- ADF_General JSF系列1_创建一个简单的JSF Application
2015-02-17 Creatd By BaoXinjian
- uboot 的内存命令使用 mw (修改) md (显示)
修改:mw [内存地址] [值] [长度] 例如:mw 0x02000000 0 128 表示修改地址为0x02000000~0x02000000+128的内存值为0. 显示:md [内存地址] [长 ...
- JAVA 网格布局管理器
//网格布局管理器 import java.awt.*; import javax.swing.*; public class Jiemian3 extends JFrame{ //定义组件 JBut ...