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的顯示數據主要包括title,content等,node是以drupal_render呈現數據,所以可以在任意字段中插入內容。
?
$node->content[‘field’] = array(‘#value’ => ‘插入內容’, ‘#weight’ => 2);
以上代碼放到hook_nodeapi中就可以在body與comment之間插入內容
?
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);
轉載于:https://www.cnblogs.com/catcat811/archive/2011/08/30/2159091.html
總結
以上是生活随笔為你收集整理的drupal6 笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 30分钟正则表达式入门
- 下一篇: Eurasia3 支持百万级用户的服务器