因为不是系统学习,只能把每天自己学习到的东西零碎的记录下来。

一来方便自己记忆,二来可供大家查阅。

后续有精力再去做进一步的整理。

1 开发一个模块分为有下面几个文件

hook.admin.inc

hook.info

hook.install

hook.module

这里hook可以替换成你开发模块的名字

admin.inc文件,我感觉是drupal中admin用户的菜单中的选项。

module这个我现在没有完全弄明白。

2 admin.inc文件解析

看下面的代码

function videoads_settings_form() {
$form = array();
$form['adserver'] = array(
'#type' => 'fieldset',
'#title' => t('Adserver configurations'),
'#collapsible' => TRUE,
);
$form['adserver']['openxvideoads_openxurl'] = array(
'#type' => 'textfield',
'#title' => t('Openx Server'),
'#required' => TRUE,
'#description' => t('url of the Openx Server.'),
'#default_value' => variable_get('openxvideoads_openxurl', 'http://www.alamosa.tv/openx-2.8.2-rc14'),
);
$form['adserver']['openxvideoads_rtmpurl'] = array(
'#type' => 'textfield',
'#title' => t('RTMP Server'),
'#required' => TRUE,
'#description' => t('url of the RTMP Server.'),
'#default_value' => variable_get('openxvideoads_rtmpurl', 'www.alamosa.tv:1935'),
);
return system_settings_form($form);
}

这里解释一下:

参考系统的api, 这个属于hook_form

展现一个表格

表格的类型有fieldset(表头),textfield(文字)

这里解释两个函数:

varibale_get('param','default)  和 system_setting_form一般结合使用

varibale_get第一次会获取默认值,system_setting_form提供一个确认按钮,确认之后,就将保持到系统变量里面,下一次的用varibale_get的时候,就会获取系统里面保持的值。

drupal 7 模块开发,hook_form的更多相关文章

  1. Drupal 7 模块开发 建立模块帮助信息(hook_help)

    建立模块请參考 <Drupal 7 模块开发 建立> 假设你要支持中文,文件格式必须保存为 UTF-8.NO BOM ------------------------------ hook ...

  2. Drupal8开发教程:模块开发——创建新页面

    之前我们已经通过<Drupal8开发教程:认识.info.yml文件>对模块的YAML文件有了了解,今天我们来看如何通过模块开发的方式添加一个新的页面. 在 Drupal 7 中,通过模块 ...

  3. AngularJS多模块开发

    angularJS中的多模块开发是指多个module模块开发,步骤为: 1. 确定主模块    var app=angular.module('myApp',[]); 2. 其他的子模块添加到主模块后 ...

  4. js模块开发(一)

    现在嵌入页面里面的javascript代码越来越复杂,于是可能依赖也越来越严重,使用别人开发的js也越来越多,于是在理想情况下,我们只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块. 于是j ...

  5. seajs实现JavaScript 的 模块开发及按模块加载

    seajs实现了JavaScript 的 模块开发及按模块加载.用来解决繁琐的js命名冲突,文件依赖等问题,其主要目的是令JavaScript开发模块化并可以轻松愉悦进行加载. 官方文档:http:/ ...

  6. Asp.net Mvc模块化开发之“开启模块开发、调试的简单愉快之旅”

    整个世界林林种种,把所有的事情都划分为对立的两个面. 每个人都渴望的财富划分为富有和贫穷,身高被划分为高和矮,身材被划分为胖和瘦,等等. 我们总是感叹,有钱人的生活我不懂;有钱人又何尝能懂我们每天起早 ...

  7. 基于ASP.NET MVC的热插拔模块式开发框架(OrchardNoCMS)--模块开发

    之前文章中给大家说明了下我这个小小的想法,发现还是有不少人的支持和关注.你们的鼓励是对我最大的支持. 我总结了了大家的评论,有以下几个问题: 1.希望有更多的文档说明. 2.希望介绍下Orchard的 ...

  8. js 模块开发之一(模块开发价值)

    首先引用我们的今天的主角 ----<前端模块化开发的价值> 1,前端开发最常见的两个问题 ---命名冲突和文件依赖 2,对于命名冲突的基本解决办法就是学习其他语言的习惯,添加命名空间 va ...

  9. nginx模块开发篇 (阿里著作)

    背景介绍 nginx历史 使用简介 nginx特点介绍 nginx平台初探(100%) 初探nginx架构(100%) nginx基础概念(100%) connection request 基本数据结 ...

随机推荐

  1. Eclipse用法和技巧二十:一个快速打印技巧

    调试的时候经常用到打印语句,当需要添加的说明字符串和需要打印的数值混淆到一起的时候,需要先写字符串如,"the string here is",接着再输入变量的值.这样一来一去还是 ...

  2. log4net学习目录

    log4net是用来记录日志的,日志是用来帮助我们排除错误和异常的.这是我们编写软件必须要用到的东西,前面总结了一些有关日志和log4net的文章,在这整理个目录东大家参考. C#日志工具汇总 log ...

  3. boost uuid 学习笔记

    #include <vector>#include <iostream>#include <boost/uuid/uuid.hpp>#include <boo ...

  4. POJ 2187 Beauty Contest 凸包

    Beauty Contest Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 27276   Accepted: 8432 D ...

  5. 安装windows7导致Ubuntu启动项消失的问题的解决

    系统原来是Ubuntu14,前两天安装win7后,启动直接是win7.也就是Ubuntu的启动项消失了. 在windows下尝试非常多方法,都以失败告终,最后选择Ubuntu下boot-repair软 ...

  6. Eclipse用法和技巧十七:覆盖父类方法

    在学校里面学习java,遇到访问权限修饰符一直停留在public是公有的,外面可以访问:protected是对子类可见的,外部不可以访问:private仅在本类中可见.工作之后,接触到了java代码多 ...

  7. 史上最全的java随机数/字符串生成算法(转)

    代码如下: package com.zuidaima.core.util; import java.util.Random; public class RandomUtil { public stat ...

  8. Visual Studio 必备神器---转

    会使用工具是人类文明的一大进步,今天敏捷大行其道,好的工具可以大大的提高生产力,这里说的工具都是VS平台上的扩展工具,一些机械的部分可以交给工具去处理,自己多关注其他部分.下面分享下我觉得不错的工具, ...

  9. androidstudio 优化gradle编译效率

    androidstuido 使用gradle自己主动构建和编译.有时做少量改动编译须要等待时间过长,近期Erik Hellman编写的Boosting the performance for Grad ...

  10. SGU114-Telecasting station

    114. Telecasting station time limit per test: 0.5 sec. memory limit per test: 4096 KB Every city in ...