zoukankan      html  css  js  c++  java
  • 小米路由研究之中的一个加入菜单

    openWRT之小米路由lucicontroller

    controller下有非常多目录他们都独立的建立对应的树:

    Webindex.htm   --注冊了web树结点下的非常多枝叶

    Mobileindex    --注冊了mbile下的一些结点

    Dispatch:        ...

    Api:            ...

    Sevice:         ...

    依据我们之前原生的openWRT下环境能够得知。假设我们想要要在web界面创建一个选项。我们须要做几个主要的步骤:

    1、在controller下显示的web界面注冊结点,以及注冊结点时该处理方式

    2、依据处理方式编写对应的文件

    Atemplate方式在view下编写htm文件

    Bcbi方式在model下编写对应的文件

    Ccall方式调用controller下对应的函数(包含一些导入的库的函数)

        一般在我controller下写一个lua文件时,假设是call方式处理,调用的本文件里的

    函数或者是调用导入库中的函数。

    简单实战项目:在小米路由下加入一个菜单选项并做对应的处理

    后端处理:注冊结点

    controllerweb下的index.lua文件里我们注冊一个结点

        --added by heyg: test htm

    entry({"web", "testhyg"}, template("web/heyg"), _(“testhyg"), 74)

    前端处理:

    view下编写heyg.htm文件,因为关于前端的一些jshtm语言不是非常熟悉我这里直接将manager.htm文件内容复制到heyg.htm文件里

    须要注意下面关于htm文件地方:

    ....

    <div id="nav">

    <script>

    var navCurrent = '.manager';

    </script>

    <%include ("web/inc/nav")%>

    </div>

    ....

    上面的.manager非常重要,在小米路由界面上,在后端注冊结点之外,在前端:布局、布局中块id关联等等,都做了非常多处理,眼下我也没有详细去了解小米前端的编码东西。

    :<%include ("web/inc/nav")%>观察,我们还须要在web/inc/nav.htm中加入一个<li>...</li>以在菜单上显示,加入内容例如以下:

    <li class="testhyg">

    <a href="<%=luci.dispatcher.build_url("web", "testhyg")%>"><i class="ico ico-nav-4"></i><span>testhyg</span></a>

    </li>

    相应的要将heyg.htm相应的位置改为以下:

    ....

    <div id="nav">

    <script>

    var navCurrent = '.testhyg';

    </script>

    <%include ("web/inc/nav")%>

    </div>

    ....

    保存完毕之后。能够再小米菜单上显示自己的菜单了....之余菜单中的一些jshtml以及嵌入lua语言和c语言的处理,我这里也不是非常清楚,就没有多余去赘述。

  • 相关阅读:
    艾伟_转载:二十行C#代码打造Ruby Markup Builder 狼人:
    艾伟_转载:WCF基本异常处理模式[上篇] 狼人:
    UVA 11389 The Bus Driver Problem(贪心)
    java list内部构造
    【人在运维囧途_04】 逃离故障的十条运维的工作经验总结
    Windows phone8 基础篇(一) 环境搭建和项目结构说明
    jquery如何把参数列严格转换成数组
    ORA27102: out of memory 故障
    卢松松:周一的文章最难写 晚上发文最合适
    Android开发环境搭建
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/6706364.html
Copyright © 2011-2022 走看看