Skip to main content
Culture is Life

Main navigation

  • Home
  • Technical
  • About
  • Contact
User account menu
  • Log in

Breadcrumb

  1. Home

Technical

By gloomcheng, Mon, 02/04/2013 - 21:15

[Drupal] Commerce Development

Drupal Commerce 是建置電子商城的模組,架構明確、彈性,只是因為還在發展中,相關可用的模組不若 Ubercart 那麼多。而在開發客製模組時,又沒有開發資訊可查看,要除錯較花功夫。

今天找到 Commerce Devel 模組,可以將 Commerce 相關的錯誤訊息都顯示出來,再搭配 Drupal Devel 模組,即可讓開發工作較為順利地推展。

By gloomcheng, Mon, 02/04/2013 - 21:03

[Drupal] Address field for Taiwan

近期在執行的電子商城網站,因有填寫地址的需求,因此稍微研究一下 Address Field 模組,並擴展其功能,寫了一個 Address Field Taiwan 的模組(目前還是 sandbox 階段)。

這模組主要功能就是將地址格式改成「縣市」、「鄉鎮市區」、「郵遞區號」、「地址」等熟悉填寫的格式,並且將前三者設為互相連動,也就是只要下拉選取縣市、鄉鎮市區後,就會自動填入對應的郵遞區號。

我已經送出建立專案的申請,但因為程式碼撰寫方式不符合標準寫法,還在修改中,不知道何時才會改完;所以有興趣試用的,請到 http://drupalcode.org/sandbox/gloomcheng/1872126.git 下載。

By gloomcheng, Wed, 08/29/2012 - 23:37

[Drupal] 更改新增內容節點表單的標題

新增內容節點表單也就是 /node/add/[content-type],預設的標題是 Create [content-type](「建立[內容類型名稱]」)。要更改此表單的頁面標題,在 D6/D7 的做法不同,以下分述之:

[D6]

最快的方式是寫一個客制模組,利用 hook_form_alter 函式改寫表單標題即可[1]。

function yourmodule_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'nodetype_node_form') {
drupal_set_title('My new title');
}
}

By gloomcheng, Fri, 08/24/2012 - 01:05

[Drupal] Undefined index 錯誤

在為 Drupal 7 開發模組時,經常會看到如下的錯誤訊息

*  Notice: Undefined index: xxx xxxx

針對此問題,Kay.L 提出關掉 Logging and errors 的告警功能即可[1]。不過,對於開發者而言,最好是瞭解此問題發生的原因及解決方式較佳。

此訊息之所以會出現,其實是在程式運行過程中找不到定義的變數。例如:

By gloomcheng, Wed, 08/22/2012 - 22:33

[Drupal] D7 模組開發初體驗 - Required for Publishing

前篇文章提到,為改善多步驟表單的易用性,需要 Required for Publishing 模組,可惜的是作者還沒釋出 D7 的版本。幾經思量下,決定自己下海試試看 D7 的模組開發。

由於是拿別人的程式碼來改,所以還算簡單,比較麻煩的應屬部分 API 在 D7 的用法已改,或是已丟棄。找尋替代的 API 函式算是較花時間,不然程式邏輯其實很明確,不太需要調整。

雖然最後算是成功改出 D7 可用的 Required for Publising 模組程式,但因為部分程式有專為特定專案情境而改寫,所以並不算適合所有人使用,希望有人可以協助接手修改。

By gloomcheng, Wed, 08/22/2012 - 22:26

[Drupal] 建立多步驟表單

針對較為複雜的表單結構(像是申請表單、問卷),通常會將表單拆成多個步驟供網友填寫,一來是頁面不致太長,二來是稍稍減低網友的抗拒意識(是否有效我很懷疑)。

在 Drupal 7 若要實現多步驟表單,只需安裝 Field Group 模組即可,設定上也相當簡易,只是若沒參考說明文件的話就搞不懂怎麼設定。其實 Field Group 就是以 Group 欄位來當成不同步驟的區別,如下所示(或參考模組說明圖):

- Field Group Holder(必須,整個表單的最外層)-- Field Group Step 1--- Field Question 1--- Field Question 2-- Field Group Step 2--- Field Question 3--- Field Question 4--- Field Question 5--- ...

By gloomcheng, Fri, 08/17/2012 - 22:59

[Drupal] 讓 Views 輸出結果依中文筆畫排序

Views 是架設 Druapl 網站必不可缺少的模組,此模組提供一個簡便的介面,讓我們可以自訂要從資料庫擷取哪些資料來呈現,以及用什麼方式來呈現。以往自行架設開發系統時,對於特定單元頁面,要從哪個資料表擷取資料、要顯示哪些欄位內容,都必須自行撰寫程式,而 Views 則簡化了前述的工作。

Views 除了可讓我們決定要呈現哪些資料欄位外,亦可設定要依哪種方式進行排序。通常我們會需要依內容標題排序,若內容是英文,排序結果會依字母排序,但如果內容是中文呢?很可惜,中文內容其實是依 UTF-8 的編碼來排序,所以並不是依筆畫順序排序,而是依該中文字在編碼表的順序來排的。

那麼,要如何才能依筆畫排序呢?首先,我們必須知道的是,雖然 UTF-8 編碼無法依筆畫排序,不過 Big5 編碼表中的中文字,確實是依筆畫排序的[1];也就是說,我們需要將輸出結果轉換為 Big5 碼,即可讓中文內容依編碼表的順序來排序,最終結果就會是依筆畫排序。

Pagination

  • First page
  • Previous page
  • Page 1
  • Page 2
  • Page 3
  • Page 4
  • Page 5
  • Page 6
  • Page 7
  • Current page 8
RSS feed
Powered by Drupal