目录 添加汉化编译为ipk配置文件入口函数界面文件Makefile

添加

添加自己的luci界面,有3个必要的要素:

  • a配置文件.新建一个在/etc/config/abcdefg
  • b入口函数.新建一个在/usr/lib/lua/luci/controller/admin/abcdefg.lua
  • c界面文件.新建一个在/usr/lib/lua/luci/model/cbi/abcdefg.lua

它们的作用关系是:b文档是让c文档在luci的菜单中显示出来,c文档是内容和脚本,a文档是c文档定义的变量,一切的主体是c文档。

汉化

修改/usr/lib/lua/luci/controller/admin里面的你的入口函数

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

function index()
-- local page
local fs = require "nixio.fs"
entry({"admin", "devconfig"}, alias("admin", "devconfig", "deviceconfig"), _("Configuration "), 80).index = true
entry({"admin", "devconfig", "wandeviceconfig"}, cbi("admin_wandevconfig/wandeviceconfig"), _("上传设置"), 1)
entry({"admin", "devconfig", "landeviceconfig"}, cbi("admin_landevconfig/landeviceconfig"), _("采集设置"), 1)
entry({"admin", "devconfig", "statedeviceconfig"}, cbi("admin_statedeviceconfig/statedeviceconfig"), _("运行状态"), 1) end

要注意的一点是,最后保存时要把文档编码转换为UTF-8编码,否则中文显示为乱码,这一点很重要。

编译为ipk

以cc为例:

在feeds/luci/applications下面新建一个luci-app-myabc文件夹,

配置文件

lanprobe,wanprobe,statusprobe,保存至luci-app-myabc/root/etc/config文件夹下

入口函数

deconfig.lua 放入luci-app-myabc/luasrc/controller/admin文件夹下

界面文件

将3个文件夹admin_landevconfig ,admin_wandevconfig ,admin_statedeviceconfig,拷贝至 luci-app-myabc/luasrc/model/cbi文件夹下

Makefile

在luci-app-myabc文件夹下新建一个Makefile文档,代码如下:

include $(TOPDIR)/rules.mk

LUCI_TITLE:=LuCI Support for mynameabc
LUCI_DEPENDS:= include ../../luci.mk # call BuildPackage - OpenWrt buildroot signature

接下来,执行命令

./scripts/feeds update luci

./scripts/feeds install -a -p luci

然后make menuconfig 你就能在luci的app下找到并添加了。

自添加LUCI菜单及编译为ipk的更多相关文章

  1. MTK Android 设置下添加一级菜单[ZedielPcbTest]

    功能描述:Android7.1.2 设置下添加一级菜单[ZedielPcbTest],点击ZedielPcbTest,启动ZedielPcbTest.apk应用. 编译:需要在out目录删除Settt ...

  2. pyqt5-为QListWidget添加右键菜单

    如何在pyqt5下为QListWidget添加右键菜单? 能百度到的均是pyqt4下的,有些貌似并不好用. 在尝试了很多方法后,下面贴出可用的方法: from PyQt4 import QtCore, ...

  3. 添加右键菜单命令 在此处打开命令窗口(E)(带图标)

    @color 0A @title 添加右键菜单命令 在此处打开命令窗口(^&E)(带图标) by wjshan0808 @echo off reg add HKCR\Directory\Bac ...

  4. RCP:为指定的导航器添加上下文菜单

    可以参考Eclipse的Help->Help Content下的: Platform Plug-in Developer Guide > Programmer's Guide > P ...

  5. 仅在TabControl中的Tab中添加右键菜单

    若想实现仅在TabControl中的Tab中添加右键菜单,可在XAML中通过使用样式得到: <TabControl> <TabControl.ItemContainerStyle&g ...

  6. 每日学习心得:SharePoint 2013 自定义列表项添加Callout菜单项、文档关注、SharePoint服务端对象模型查询

    前言: 前一段时间一直都比较忙,没有什么时间进行总结,刚好节前项目上线,同时趁着放假可以好好的对之前遇到的一些问题进行总结.主要内容有使用SharePoint服务端对象模型进行查询.为SharePoi ...

  7. [cb] Unity Editor 添加右键菜单

    需求 为Unity的Editor窗口添加右键菜单 实现代码 // This example shows how to create a context menu inside a custom Edi ...

  8. Netsharp快速入门(之9) 基础档案(工作区3 添加商品菜单,以及在产品中打开商品界面)

    作者:秋时 杨昶   时间:2014-02-15  转载须说明出处 3.5.2  添加导航菜单 1.打开平台工具,插件和资源节点,选择创建导航菜单,打开创建向导 2.选择所属插件 3.选择在哪个分类下 ...

  9. 原已经安装好的nginx,现在需要添加一个未被编译安装的模块--echo-nginx-module-0.56

    为了测试一个NGINX变量,将NGINX加了一个编译模板echo-nginx-module-0.56. 参照如下文件 1,先看以前NGINX有哪些东东. sbin/nginx -Vnginx vers ...

随机推荐

  1. Deep Learning Drizzle

    Deep Learning Drizzle Drench yourself in Deep Learning, Reinforcement Learning, Machine Learning, Co ...

  2. [原]Linux 修改时区

    1.查看当前时区 date -R 2.修改当前时区 tzselect 之后会出来一个选项菜单,选择你想要的时区就OK了 3.替换系统时区文件 cp /usr/share/zoneinfo/XXX/YY ...

  3. OWASP出品:Xenotix XSS漏洞测试框架及简单使用

    OWASP Xenotix XSS Exploit Framework是一个高效的跨站脚本漏洞(XSS)检测和攻击测试框架.它通过特有的三大浏览器引擎(包括Trident, WebKit和Gecko) ...

  4. JavaScript的DOM_处理空白节点

    一.空白节点产生的原因 在非 IE6,7,8 中,标准的 DOM 具有识别空白文本节点的功能.  在火狐浏览器等其他浏览器中是 7个,而 IE6,7,8 自动忽略了,如果要保持一致的子元素节点,需要手 ...

  5. Gluon.vision的几类数据集

    http://mxnet.apache.org/api/python/gluon/data.html import mxnet as mx from mxnet import nd,autograd, ...

  6. docker-1-简介

    Dockers的出现: 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置.作为开发+运维之间的协作我们需要关心很多东西, 这也是很多互联网公司都不得不面对的问题,特别是各种版本的迭代之后,不 ...

  7. ASP.NET Web API编程——客户端调用

    可以使用HttpClient这个调用Web API,下面是HttpClient的定义,列举了一些常用的方法,其中还有一些没有列举,包括重载的方法. public class HttpClient : ...

  8. 理解JavaScript对象

    理解JavaScript对象 对象是JavaScript的基本数据类型.对象是一种复合值:将很多值(原始值或者其他对象)聚合在一起. JavaScript对象不仅可以保持自有的属性,还可以从原型对象继 ...

  9. PAT——1045. 快速排序

    著名的快速排序算法里有一个经典的划分过程:我们通常采用某种方法取一个元素作为主元,通过交换,把比主元小的元素放到它的左边,比主元大的元素放到它的右边. 给定划分后的N个互不相同的正整数的排列,请问有多 ...

  10. 关于readonly的一些说明

    readonly在代码中只能在字段初始化器和构造函数中赋值,并不是说readonly只能赋值一次,超出这个范围以后readonly就不能通过代码修改了,但是还是可以用反射来修改,readonly仅仅是 ...