目录 添加汉化编译为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. angular中的scope

    angular.element($0).scope() 什么是scope? scope是一个refer to the application model的object.它是一个expression的执 ...

  2. 【转】修复关于apache-xampp的问题:Port 443 in use by “vmware-hostd.exe”!

    在电脑里装了VMware后,再要装xampp,十有八九就会出现这个问题: 11:23:37  [Apache]     Problem detected! 11:23:37  [Apache]    ...

  3. <!--注释-->和<%--注释--%>有什么区别

    转载:版权所有:基础软件.作者邮箱:s.j.l.studio@hotmail.com,sun.j.l.studio@gmail.com.本文首发于 http://www.cnblogs.com/Fou ...

  4. 保存头像- vue项目-base64字符串转图片

    <img :onerror="errpic" class="customerHead" :src="param.customerHead&quo ...

  5. Java中多线程重复启动

    在面试时候经常被问到多线程的相关问题: 今天在测试的时候发现下面的代码会抛出异常: java.lang.IllegalThreadStateException public static void m ...

  6. nginx里配置跨域

    发布于 881天前  作者 wendal  1404 次浏览  复制  上一个帖子  下一个帖子  标签: nginx 跨域 if ($request_method = OPTIONS ) { add ...

  7. MVVM的核心:双向绑定

    MVVM 模式将 Presenter 改名为 ViewModel,基本上与 MVP 模式完全一致. 唯一的区别是,它采用双向绑定(data-binding):View的变动,自动反映在 ViewMod ...

  8. .net控件

    Asp.net 自带的Ajax Extensions中得ScriptManage和 UpdatePanel可以一起实现局部刷新,提高速度和节省网络流量 前台代码: <!DOCTYPE html ...

  9. Collections.synchronizedList线程安全性陷阱

    摘要: 详细的解析:Collections.synchronizedList 1 :关注要点,为什么在有synchroniezed方法的同时会出现 Collections.synchronizedLi ...

  10. Filter实现字符集统一设置

    Filter实现字符集统一设置 其实是对request和response请求进行了拦截 1.创建Filter类,实现javax.Servlet接口 doFilter方法 //设置字符集 request ...