Tips

如何善用 settings.php 幫助 deployment, 區分 dev, live 伺服器

Live 和 Dev (開發) 的伺服器雖然說是應該完全一樣 (無論數據庫還是代碼上)
但始終都需要區分它們
例如使用不同的數據庫連接, site name 變數不一樣等等
令 deployment 的時需要多花些功夫
例如使用 svn branch 分開兩份 settings.php
但方便的程度便不及我以下介紹的這個方法了

編程概念很簡單
利用 dev 伺服器使用 dev.example.com, 而live 使用 www.example.com 作區分
php 中的 <?php $SERVER['HTTP_HOST'] ?>便可以得出 domain name
settings 中便可以:

<?php
if ($_SERVER['HTTP_HOST']=='dev.example.com') {
 
$db_url = 'mysql://root@localhost/dev_db';
} elseif (
$_SERVER['HTTP_HOST']=='www.example.com') {
 
$db_url = 'mysql://root@localhost/live_db';
}
?>

更可以配合使用 $conf 變數方便其他地方使用, 例:

<?php
$conf
['env'] = 'dev';
$conf['site_name'] = 'Development server';
?>

使用 views 建立tabs, use view to build tabs

上圖顯示了一個經過修改的 user page 的 tabs

tabs 其實來自一個 hook(), menu_local_tasks()
用 theme developer 指一下便可以看到
但這次介紹的並不是要修改這個 hook 的 theme template
而是使用 views, 新增一個tab 到這個地方

在上圖的例子,
一個 url 為 [root]/user 的 頁面,
要在 views 建立一個的 tab, >Read more

使用regions 的要訣

在Druapl 中有關自定義regions,
使用panels 等等
有關將一個頁面分割為不同的部份,
以方便管理的技術, 這裡都有介紹過
但也因為有這兩種方法
我自己也一直想不通,
什麼時候使用panels, 什麼時候使用regions

後來, 為了效能的問題, >Read more

Drupal 系統設計的事前企劃要注意事項

當你選用了drupal, 一個CMS,
作為你的網頁的系統
我想你的網頁應該是預計有一個定量的更新, 新增元件等等
所以, 在你設計你的系統的時候
記得一定是以"可持續發展"大前提 >Read more

Drupal 小技巧

列出一些我在開發時遇過的一些難題, 要求
並用簡短的文字展示解決的方法

小技巧 - 使用firebug幫忙定制theme

最近在盤算在兩個freelance 之間擠出些時間做一個全新的theme
碰巧又沒有什麼特別的題目或教學
所以發表些我定制這個theme 時的一些小技巧
(這些小技巧不一定會出現在未完成的這個theme 內)

比如說我要在 "Read more" "Add new comment" 之前加個可愛的icon >Read more