Development

Rsync git diff files to external

-
Free tags: 

git diff -z --name-only HEAD^ HEAD | xargs -0 -IREPLACE rsync -azP REPLACE root@www.example.com:/var/www/html/

oneliner, no need to explain, right?

反時間方向的留言排序

Drupal 原生在 node 下的留言是使用時間最先的開始 (created ASC)
但如果需要反方向的話 (不使用 views 為前提):

Alter comments query to order by DESC

Drupal ordinary comment listing under nodes are ordered earliest first.(created ASC)
If you need to make it DESC, without using views:

修改用戶頁面的密碼欄位

要求看似簡單,將用戶頁面的密碼欄位改成 “New Password” (或加 placeholder 等)

由:

改成:

Alter user profile page password fields in Drupal 7.x

The request seems simple, change the password field title in user edit form to “New Password” (or add placeholder etc)

From:

to:

訪客購物車 programmatically


需求:每個訪客都會預設幫他們將一件貨物加到購物車
他們便可以直接完成交易

Commerce kickstart已經是一個現成的示範
訪客就算不注冊仍然可以使用購物車
而且一定情況之下關閉瀏覽器之後再回到網站仍然可以找回上次的紀錄繼續購物

但在 init 的時候使用

Drupal commerce - Add to cart anonymously, programmatically


Feature: add an item to the shopping cart of every visitor so they can checkout immediately.

Actually a shopping cart can belongs to anonymous, linked by session ID
Commerce kickstart had already demonstrate such behaviour.

But the problem is,

Drupal commerce - 從代碼建立訂單


Drupal commerce 己經成為 Drupal 電子商務應用的主流了,ubercart 落伍了

Ubercart 是一個源自 Drupal5.x 世代的方案
而為了使用 Drupal7 方便的 entities,和令電子商務方案使用一個「弱品牌化」的名字,Drupal commerce 誕生了

但因為 Drupal commerce 龐大的代碼量,為了方便分散工作,代碼都打散到不同的模組,各自有他們的維護者
再加上為數不少的 dependencies 令上手的難度過大
所以 Drupal commerce kickstart 便將一個完整的電子商務網站包裝起來
只需要下載安裝,匯入範例便可以立即使用了

這次的開發和前一次類似,從代碼建立將貨物放到訂單:

Pages

Google