Glools-Drupal-0.3.1 发布

Glools Guan's picture

源码下载地址: http://code.google.com/p/glools-drupal/downloads/list
项目地址:http://code.google.com/p/glools-drupal
示例网站: www.lasooo.cn (基于0.3版本开发)

更新项目如下:

  1. [frontend module] 独立channel操作到 inc_channels.
    这样的分离可以有效的减少对frontend模块核心代码的编辑,以维护其稳定性,并优化对channel开发的规范性。

  2. [glools module] 原在 glools_page_build函数中,定义的 节点view_mode扩展操作,转移到frontend模块中。
    这样可以使frontend更专注前台,同时glools模块更专注功能与标准化扩展。

  3. [glools module] 修复drupal内核系统关于image_style操作无效的bug.
    该问题的起因是,在后台上传图片后,负责图片style操作的函数没有被调用,导致没有正确的创建根据image_style设定的图片。
    解决办法参见glools模块相关函数。

  4. [ajax.js] 该程序是drupal内核程序,修复通过服务器端invoke命令调用自定义JS对象(已注册为JQUERY对象)无效的操作。
    新的ajax.js 保存在glools模块根目录下,可自行决定是否启用。
    启用新ajax.js 代替drupal内核ajax.js的需求:
    当自定义客户端JS对象,并希望通过服务器端ajax_command_invoke函数调用时,需要使用新ajax.js,其它情况暂时不需要。

  5. [gloolsgarden theme] 该模板包,在依赖drupal核心style.css基础上,规范并定义了整套drupal模板开发结构,非常方便企业应用开发。
    具体内容包括:

    1. layout结构定义,包含依赖layout概念的template和CSS等。
      说明:layout结构定义,不指具体layout.tpl.php模板结构定义。而是指基于drupal系统进行模板定制的整套结构,其内容包含:
      1. layout的定义 - 系统默认为channel名称(@channel定义规范)
      2. 在gloolsgarden模板包中,layout的实现:
        1. 模板统一放置在 templates/layouts 目录下。
        2. CSS文件统一放置在 css/layouts目录下。
        3. 基于layout模板的CSS样式文件会在gloolsgarden模板包中,自动加载,具体参见 gloolsgarden/theme-funcs.inc程序
        4. 网站首页也是频道之一命名为frontpage.
        5. 基于layout概念的template和CSS文件都有明确的规范,具体参考gloolsgarden模板包中相应的文件。
  6. [gloolsgarden theme] layouts/[layout name].layout.php 文件HTML节点结构说明(节点CLASS名称作为节点名称)

    • page-wrapper: 网站页面最外层节点
      • box-wrapper:页面最高级别区域群(region)定义,所谓区域群,指该节点下,包含多个区域结构,且只能包含区域结构。在页面表现中,区域群是横向的。
      • regions-wrapper:该节点下面才是页面真正的区域定义,之在一个横向范围内的区域结构定义。
        • region: 具体区域定义,一个区域下包含多个内容块(block)
        • block:具体内容块,该节点内部只能是具体页面呈现内容,不能再包含任何页面结构性内容。在glools-drupal框架中,block和view接轨。

    以上的节点结构中,除 page-wrapper是唯一节点外,其它各层节点都可并向扩展,也就是说,页面结构中,可以包含多个box-wrapper,每一个box-wrapper
    可包含多个regions-wrapper。该节点层级结构,的设计基础需求基础是大型门户型网站页面结构需求,例如网易,新浪,腾讯等,以及你在地球上看到的任何复杂页面结构。

    除页面结构定义外,各类模板都分别放置在regions,blocks目录内,所以遵守并建立良好的开发规范会更便于大型项目长期开发和维护。
    目录结构在CSS中也同样有效,请参见gloolsgarden/css/目录结构.

  7. [glools module]规范Glools_Inc_Tools::loadInc();方法目录指向的使用,具体请参见
    libraries/glools/loadinc.lib.inc
    static protected function defaultIncTypes(){
    return array(
    'lib' => array('path_suffix'=>'libraries', 'file_suffix'=>'lib'),
    'data' => array('path_suffix'=>'data', 'file_suffix'=>'data'),
    'preset' => array('path_suffix'=>'presets', 'file_suffix'=>'preset'),
    'channel' => array('path_suffix'=>'channels', 'file_suffix'=>'channel'),
    'tpl' => array('path_suffix'=>'templates', 'file_suffix'=>'tpl')
    );
    }
    如需扩展可自行扩展该方法,在原v0.3系统中,Glools_Inc_Tools::loadInc('aaa', 'libraries', 'module');方法调用,需要文件名后最必须是 ?.libraries.inc
    这其中,libraries命名不规范,不应该是复数,更合适的名称应该是lib简称,所以在这里规范。

  8. [frontend module] 对AJAX操作的规范(unstable,继续优化中):

    1. 如在channel中,有表单设置,并附加AJAX选项,可默认设置callback参数为frontend_channel_form_ajax_callback,负责所有基于频道的CHANNEL AJAC callback操作。
      因为,如果定义callback函数在具体?.channel.inc配置文件中,则AJAX请求,有时可能无法正确找到相应的callback,表单项验证负责完成element_validate任务即可.
    2. frontend_form_element_validate_ajax_render 是可扩展函数,可以根据自己需求设置输出结果。
  9. [frontend module] 各个频道的 form validate,submit操作统一到frontend_channel_form_validate, frontend_channel_form_submit两个函数中,并由这两个函数分别
    导入具体的?.channel.inc文件,并invoke [form_id]_validate, [form_id]_submit方法。
    该操作为解决,drupal_get_form, 无法正确找到设置在channel中的表单操作。

  10. [gloolsgarden theme] 基于node view_mode属性,系统会自动加载 node--node_type-view_mode.tpl.php程序,和 css/nodetypes/[node_type]-view_mode.node.css
    样式文件。

  11. [view] (重复说明)0.3系统中,所有view的css,js 等文件统一放置在views目录中,具体见 views/目录结构,并且系统会自动调用这些文件。
    在view目录中, features和misc目录分离,并view的具体目录为 features/view/?.view.inc 的用意为,一个view,可以有多个模板和样式文件,可以更灵活定制。

  12. 在v0.3.2版本中,包含frontend模块完成项目中的channels代码包和gloolsgarden模板包。在实际项目开发中,可参考使用。

Comments

建议把代码提交到drupal.org

jackniu's picture

建议把代码提交到drupal.org,可以充分发挥drupal强大的社区优势,方便大家提出更多建议和bug提交、追踪!让系统不断优化、完善!

Drupal中国 http://drupalchina.cn Drupal China
DrupalSNS http://drupalsns.com

同意 jackniu

alfababy's picture

同意 jackniu 的观点,希望可以尽快在sandbox看到你的代码。

“Glools-drupal used for

hupuzhao's picture

“Glools-drupal used for speeding up drupal development for enterprise web site.”
第一次看到就已经是0.3版了,更新日志让人感觉应该很有兴趣,如果有一个完整优化的说明就更好了。

Glools Guan's picture

之前有几个版本,是在本地开发的,没有上传。

Glools-Drupal-1.0正式版本发布的时候一定会上传到drupal社区,现在还不到时候,这套框架是众多drupal7项目开发经验的积累,同时也需要更多的项目应用使其更完善,并逐步趋于成熟。

The creator of GLOOLS.

Hong Kong - 香港

Group categories

HKDUG Vocabulary

Group events

Add to calendar

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week