zoukankan      html  css  js  c++  java
  • Orchard扩展 自定义后台管理导航菜单 Admin Menu

    金天:学习一个新东西,就要持有拥抱的心态,如果固守在自己先前的概念体系,就会有举步维艰的感觉。
    金天:看源码永远是Coder学习的最快捷路径。
     
     
    看本文需要对Orchard大致体系, 特别是Module插件体系有一定的理解。
     
    Orchard Admin Menu
     
    自定义后台管理导航菜单,只要在自己的Module里面实现接口INavigationProvider, 如下图。
     
     
    所有需要做的很简单,像上图,添加AdminMenu实现INavigationProvider接口。
     
    99%的逻辑都在 GetNavigation(NavigationItemBuilder builder) 
    定义菜单标题
    定义菜单链接
    定义菜单位置
    定义菜单样式等等
     
    这里有个非标准逻辑,笔者这里称为脏逻辑:
    Position(string position), 正常排序如 -2, -1, 1, 2, 3
    如果设置成before or null, 则为-9999, 如果想排在更靠前需要比-9999更小
    如果设置成after, 则为9999, 如果想排在更靠后, 需要比9999更大
     
    注:
    1. 更多具体怎么实现GetNavigation, 参考源码所有实现INavigationProvider接口的类即可。看源码永远是coder学习的捷径。
     
    2. 笔者这里实现的是RecentMenus, 就是把最近四次点到的Menu置顶,效果如下图, 中间用到IActionFilter。
     
     
     
     
  • 相关阅读:
    Leetcode 171. Excel Sheet Column Number
    Leetcode 206 Reverse Linked List
    Leetcode 147. Insertion Sort List
    小明一家人过桥
    Leetcode 125. Valid Palindrome
    Leetcode 237. Delete Node in a Linked List
    Leetcode 167 Two Sum II
    张老师的生日
    Leetcode 27. Remove Element
    Leetcode 283. Move Zeroes
  • 原文地址:https://www.cnblogs.com/jtbj/p/4955569.html
Copyright © 2011-2022 走看看