zoukankan      html  css  js  c++  java
  • drupal 7 模块开发,hook_form

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

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

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

    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的时候,就会获取系统里面保持的值。



  • 相关阅读:
    面试官:Redis 有哪些拓展方案?
    面试官:为什么要合并 HTTP 请求?
    Java 调用第三方接口,实战来了!
    Java 如何模拟真正的并发请求?
    如何搭建一台永久运行的个人服务器?试试这个黑科技!
    vs2005 sp1 出来啦!!
    2007年第一帖
    xp pro sp2支持多个用户同时终端连接
    msn中实现 "添加一个活动或游戏邀请"
    softether
  • 原文地址:https://www.cnblogs.com/snake-hand/p/3144986.html
Copyright © 2011-2022 走看看