加js, css file 到theme, Add a theme specific js/css to a page
如題, 你可以在 theme 的 .info file 用以下的方法
scripts[] = js/gallery.js
stylesheets[all][] = css/gallery.css
你可以加第三方的 js/css, 例如 jquery ui, fancybox 之類
如果你看到你的page.tpl.php 有
<script type="text/javascript" src=""></script>
你可能會考慮用以上的方法include 了
Note1: 路徑是相對到theme 的資料夾
Node2: 它們會被優化的, 如果你開啟了壓縮 js/css 檔案的話
As titled, if you want to add a js or css file only to a theme, you may:
scripts[] = js/gallery.js
stylesheets[all][] = css/gallery.css
This should contain mostly contain some 3rd party js/css libraries/frameworks.
if you find you put some <script type="text/javascript" src=""></script>
in page.tpl.php, you better think again to put it like above.
Note1: the path they refered is CURRENT_THEME directory
Node2: They will got aggregated if you turn on compressing js/css files in "Performance" page
Actions, trigger, rules, workflow
這四個Drupal6 的module 互相有關連,功能又多, 做一個小小的整理
action 和 rules 是做同一件事:定義一些“行為”/“行動”
而rules 是進階版的 action
這些“行為” 例如顯示一個信息, 發一個email 等等,單獨存是沒有意義的, 它需要一個觸發器去觸發一個action/rule
這個觸發器就是 trigger module 了
觸發器的例子有:“在儲存一個node 之後”
那你就可以達成:“在儲存一個node 之後,發一個email到 admin@abc.com”
以上的例子很簡單,不足以說明它們的強大,但這篇只是想給讀者一個概念
讀者們要先內化這概念, 下一個post 便可以講一下進階的用法
而 workflow 是一個處理流程的module, 本身也是一個巨大的觸發器
workflow 自己可以做到定時出版一類的功能,由draft 到review 到publish, 每一步都有一個trigger, 可以trigger send email 等等的rules
有機會的話也可以詳細講講
ref:
trigger 和 action 是 D6 內建的
Rules: http://drupal.org/project/rules
Workflow: http://drupal.org/project/workflow
在windows 上使用Drush
使用了一段時間了, 現在才有時間介紹一下drush
有如 admin_menu, 用過便忘不了
基於 *nix 的 drush 簡單易用, 但windows 上便有些限制, 最常用的 drush dl views 用不了..
hack (不用cygwin):
1.
下載Drush http://drupal.org/project/drush, 解壓到 /path/to/drush
2.
下載並安裝:
http://gnuwin32.sourceforge.net/packages/libarchive.htm
http://gnuwin32.sourceforge.net/packages/gzip.htm
http://gnuwin32.sourceforge.net/packages/wget.htm
再將 控制台 > 進階 > 環境變數
新增 / 修改 PATH: C:\Program Files\GnuWin32\bin;/path/to/drush
3.
cd /path/to/drupal
drush.bat dl views
完成!!
p.s. admin_menu 之外, 我還一定會裝 vertical_tabs, drush, devel
SVN merge
merge 是一件麻煩事. 當然, 用了branch 或者tag 才需要 merge.
當一個或者多個commit 需要同時應用到另一個branch, 你便需要merge. 通常你都會從trunk merge 到branch 的
一開始使用merge 可能會感到害怕, 但merge 和commit, update 一樣, 用多了使自然覺得很方便了. 而且, 不需要擔心merge 錯, 因為merge 的動作本身是不會提交到svn 的. merge 完了, 你確認了代碼, 功能都沒有問題之後, commit, 才會提交到svn.
在merge 的過程, 你要選擇你merge 的 revision number, 所以, svn 的 commit message 便很重要, 會是你決定用不用某一commit 的最重要依據.
merge 時, 你應該先switch 到被merge 的branch, 再選擇trunk 的revision, 例如, trunk revision 123 需要copy 到 branch, 便應該switch 到 branch, 再用merge