程式筆記

[Javascript] 日期&時間處理

Date() 應用 - 取得目前日期及時間

  var now= new Date();
  // 月份需要+1
  var month=now.getMonth()+1;
  var day=now.getDate();
  var year=now.getFullYear();
  var h=now.getHours();
  var i=now.getMinutes();
  var s=now.getSeconds();
  //取得目前的timestamp
  var tsp=now.getTime();
  document.write('今天的日期是:'+month + '-' + day + '-' + year);
  document.write('目前的時間是:'+h+ ':' + i+ ':' + s);
  document.write('目前的時間戳記是:'+tsp);
結果:
 

Date() 應用 - 字串轉時間

  var string1='2014-01-05';

[Javascript] 數字補0

有時候為了格式的整齊性,我們會需要讓數字補0,例如日期 2014-3-4 要變成 2014-03-04
不過javascript並沒有類似php一般有提供 %2d之類的語法可以讓我們自動補0,所以就需要自己寫函數囉!
函數如下:

Drupal 模組開發 - 建立自訂的區塊(block)

雖然drupal 7本身提供的block模組已經可以建立自訂的block,不過當需要與整個自訂模組整合的時候,總不能讓使用者端在安裝玩模組之後,還自己去新增block才能使用吧,這樣「模組」都不「模組」了。

所以本篇主要要談的是如何在模組中建立自訂的block,範例程式可參考這篇

主要的掛勾函數(hook_block_xxx)如下:

Drupal 模組開發 - 應用快取cache

在進行Drupal的模組開發時,當要產出的頁面所需的運算較為繁複時,若對於資料的即時性要求沒有那麼精準時,可以透過快取的方式,一方面可提升訪客開啟頁面的速度體驗,再則可以有效的降低伺服器的負載。

在Drupal要建立快取其實還滿簡單的,有點類似建立cookie一般,只要設定要被快取的資料到期時間(expired time)即可。

範例程式可以參考這一篇:Example: Cache API

主要應用的函數如下:

Drupal 模組開發 - 應用hook_theme()建立自定樣板檔(.tpl.php)

本文參考自這幾篇
Using the theme layer (Drupal 7.x)
Using template (.tpl.php) files in your own module

依照參考資料,雖然實務上我們也可以在template樣版檔中進行如資料庫讀寫的動作,但theme 以及 module 的角色上應該是分工明確的,theme處理的是外觀表現上的架構,而module則主要是提供theme所需要的資料。這樣當網站規模越來越龐大的時候,較能有效率的管理。

那麼兩者透過什麼連結起來呢? 就是hook_theme()這個函數。透過實例來說明怎麼應用。