Drupal 7.x

Hong Kong Economic Journal Forum revamp

It has been a while since my last post on this blog
Since we just have this project finished, and slowing moving to maintenance mode
This will be a great time to write something about the porject, before I forget everything

Snapshot: 

信報論壇 revamp

都有一段時間忙得要死,沒有更新這個 blog 了
這次的 project 總算順利完成,穩定進入維護階段的同時
花點時間寫一寫這次使用 Drupal 的經驗好了

這個在三月中開始版面設計的網站,當然是使用 Drupal7 開發
結構上不算太複雜,只有首頁,文章內頁,用戶頁,「著名博主」頁
但因為用戶可以自行編寫文章,node edit form 都需要使用客製化的 theme
而且那個 form 需要一定程度的簡化,令一般使用者可以比較容易上手

在網站也使用了 responsive web design 的版面設計
令手機的使用者可以使用一個比較簡單的版面
但 js based 的 responsive 有反應慢,需要等待 js 執行的問題
有機會再和大家分享這方面的心得

Snapshot: 

自定義 Drupal commerce 付款流程

Commerce 是 Drupal 7.x 電子商務的最新模組

背景資料

ubercart 一直為 Drupal 6.x 電子商務的指定模組
但它和其他的模組有一點點的不同,它的主站並不設在 Drupal.org (www.ubercart.org)
所以 Drupal 社區嘗試將它移回 Drupal.org 的時候就發生了一些磨擦
有一些開發者便決定為 Drupal 7.x 的電子商務重新出發
所以便誕生了 commerce 模組了

最近的更新

Commerce 模組已經開發了一年以上,而且各方面都越加成熟了

Variations

那 "display node" 的易用性的問題已經用一個全新的 "variations" 概念完美的解決了
你可以建立一個產品然後增加那個產品的 "Color variations","Size variations" 等等
它們會在同一個頁面顯示,而 variations 會化為一組 dropdown 給客人選擇
完美解決客人和管理者的易用性問題

Customize Drupal commerce checkout flow

Commerce is the new born from ubercart developers For Drupal 7.x

Background information

ubercart had long been the e-commerce solution for Drupal 6.x
but it is some what different from other modules, it existed away from Drupal.org (www.ubercart.org)
So Drupal community is trying to merge back to Drupal.org and some conflicts happens
Some developers decided to start from scratch and build a new e-commerce solution for Drupal 7.x
and hence the born of commerce module

Custom Rules action example

The actions being used inside rules and actions in trigger is not the same
But we can still take code example from rules/modules/*.rules.inc
and you will see lots of "core - optional" module rules

Rules action example module:

自定義 Rules action 例子

Rules 內的 action 原來和 trigger 使用的,Drupal 原生的 action 是不相同的
大家可以參考 rules/modules/*.rules.inc 便會看到很多 core - optional 的 module 的 rules

我寫一個 rules action 的 example module:

Upgrade to Drupal 7!

-
Free tags: 

Spend 6 hours:
package live site, clone to local development environment
disable local contributed modules
turn on maintenance mode
upgrade local core to Drupal 7.x version
Convert custom theme to D7
upgrade contributed modules
configure contributed modules
use 7.x version of cck, use content migrate module to migrate fields to 7.x core
package local
backup live site
transfer local to live
DONE!

升級到 Drupal 7!

-
Free tags: 

花了6個小時的時間:
打包 live site,在 local 重製相同環境
關掉 local contributed modules
maintanence mode
在 local 一步步將 Drupal core 升級到 7.x 版本
修改客製 theme 至相容於 Drupal 7
contributed modules 升級到 7.x 版本
contributed modules 的新設定
使用 cck 7.x 版本的 content migrate 將 cck fields migrate 到 7.x 的 core
打包 local
再備份 live
轉移 local 到 live
大功告成!

對於大家來說應該是完全沒有分別的
我在轉移到 live site 大功告成的時候都迷了一下
「咦?完成了?外觀上完全一樣麻」
直到打開管理頁面看到 seven 這一個 theme 才完全確認真的完成了

下一步應該是打開多語言選項
將中文為主的 blog 改為雙語
擴大 SEO 和讀者層
2013 GoGoGo!

建立內容後跳轉到指定 URL

-
Free tags: 

我突然在需要使用的時候發現我竟然沒有寫下:

Rules 沒有我想要的欄位可以 compare

Rules 原生的 node 欄位只有很少的幾個
例如 created, updated 之類的
但我想比較的是 cck 的欄位呀
一個 checkbox 有沒有選到
一個 node reference 是否為空
一個字符欄位有否包含某些字等等

其實只要先加一個 'entity has field' 的 condition
選你想要比較的欄位
再到 data compare 便會出現你需要的欄位了

又或者更直接的方法是加一個 content is type
選擇你需要的 content type, 但如此的話便必需要是單一 content type 了

話說回來,要在 rules 和 hooks 之間選擇才是真正的困難
相關討論: http://www.drupaler.co.uk/blog/rules-versus-hooks-or-abstraction-shock

Pages

Google