zoukankan      html  css  js  c++  java
  • drupal6 笔记

    调用进程

    处理进程

    Path > Access_Callback > Page_Callback > $content

     

    输出进程

    Page(Block) > theme > preprocess > template

    发邮件

    $module = 'email_example';

    $key = 'contact_message';

    $from = 'catcat811@hotmail.com';

    $to = 'catcat811@gmail.com';

    $language = language_default();

    $send = true;

     

    drupal_mail($module, $key, $to, $language, $params, $from, $send);

     

    主题知识

    Drupal分为主题表示层(theming layers)与数据逻辑层(data/logic layers),数据逻辑层可以有输出内容,但主题表示层总是可以对这些内容改写。

     

    大多数页面元素一般是由theme('page')拉进来的,在显示导航信息以后,它们被放置在page.tpl.php模板中

     

    区块定制总结

     

    总体来说可以分为三步:

    第一步:在模板文件.info中定义一个新的regions.格式是:regions[内部名称] = 显示在区块内的名称.eg:regions[footer] = Footer,(Drupal是通过在模板内使用regions来控制显示区块的,所以需要定义),记得加上默认的那些regions.(如果没有定义的 话,系统将会使用默认值,若添加新的regions,将使原来的失效,所以需要加上).

     

    第二步:由于.info在主题内存在缓存,所以添加后你需要去Administer -> Site configuration -> Performance清除缓存.

     

    第三步:我们需要将新的regions放在模板内,并来显示他们.若需要在页面内加入区块,则只需要在 page.tpl.php内在你想要它出现的位置添加上<?php print $内部名称 ?> 由于内部名称能够自动在page.tpl.php模板内自动转换成region 变量,所以你无须再做其他操作.若是加在其它地方,你需要在template.php内使用function 函数来处理变量,因为它不能够动态生成.

     

    CCK字段调用

    Node_load所填充的CCK字段一般以数组形式出现,变量名以字段名命名,文件类型的路径是filepath,调用例子如下:

    $field_image[0]['filepath']

    一般文本类型字段的值是value,调用例子如下:

    $field_date[0]['value']

     

    缓存API

    cache_set($cid, $table = 'cache', $data, $expire = CACHE_PERMANENT, $headers = NULL);

    cache_get($cid, $table = 'cache');

     

    $cache = cache_get($cid);

    if($cache){

             cache_set($cid, 'cache', $data, time() + 3600);

    } else {

             Return $cache->data;

    }

     

    Node插入内容

    Node的显示数据主要包括titlecontent等,node是以drupal_render呈现数据,所以可以在任意字段中插入内容。

     

    $node->content[‘field’] = array(‘#value’ => ‘插入内容’, ‘#weight’ => 2);

    以上代码放到hook_nodeapi中就可以在bodycomment之间插入内容

     

    Imagecahce缩略图代码

    缩略图显示页面上

    $imagepath = db_result(db_query('SELECT filepath FROM {files} WHERE fid = %d', $fid));

    theme('imagecache', 'List_medium', $imagepath, array_pop(explode('/', $image)), $alt, $title, $attributes);

  • 相关阅读:
    解决Unsupported major.minor version 51.0问题的感悟
    python 自己实现for循环:
    去除(UTF8)格式文本中的Bom
    python range与xrange
    Permission denied: make_sock: could not bind to address处理
    This Android SDK requires Android Developer Toolkit version 20.0.0 or above
    centos下postgresql的安装与配置 20101217 12:39:15
    android软键盘 android:windowSoftInputMode
    android 代码实现安装卸载apk
    Android有效解决加载大图片时内存溢出的问题
  • 原文地址:https://www.cnblogs.com/catcat811/p/2159091.html
Copyright © 2011-2022 走看看