• 在OpenWrt中隐藏菜单


    在实际的开发中,有时候我们需要根据情况来创建一个隐藏的菜单,这个功能仅作为一个子功能存在于程序之中,而不表现在菜单中。这时候,我们可以在写module使用hidden属性来创建一个隐藏菜单。例如:

    创建一个/usr/lib/lua/luci/controller/admin/test.lua文件。

    module("luci.controller.admin.test", package.seeall)

    function index()
    local page
    page = entry({ "admin", "user", "list" }, template("admin/user/list.htm"), _("user list"), 10)
    page.i18n = 'auoo'
    page.hidden = true
    page.dependent = true
    end

    PS:

    是否能够真正的隐藏还要看主题是否支持。在/usr/lib/lua/luci/view/themes/主题名称/header.htm中找到subtree函数。查找是否在里面使用dispatcher.node_childs(node)方法来获取节点。如果没有使用node_childs那么基本上就可以断定不支持hidden这个属性。如果不支持,则可以通过修改header.htm中的subtree函数。找到如下相似的代码:

    for k, n in pairs(node.nodes) do 
    if n.title and n.target then
    table.insert(index, {name=k, order=n.order or 100})
    count = count + 1
    end
    end



     把if改为

    if n.title and n.target and not n.hidden then


    ,即判断节点的hidden属性。

  • 相关阅读:
    Java Excel导入
    Git在Eclipse中忽略文件提交
    Git客户端安装(仅限windows用户)
    Java输出流文件下载
    Centos6.3源码安装Mysql-5.5.34
    Centos6.3安装Mongodb2.2.4
    Jacob操作Word各格式转换参数
    sublime text3使用小结
    获得select下拉框的值
    sublim text3 配置
  • 原文地址:https://www.cnblogs.com/AUOONG/p/2391824.html
Copyright © 2020-2023  润新知