<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.joetsuihk.com" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Development</title>
 <link>http://www.joetsuihk.com/free_tags/development</link>
 <description>The taxonomy view with a depth of 0.</description>
 <language>en</language>
<item>
 <title>[inmediahk] use of views argument: 作者最新文章</title>
 <link>http://www.joetsuihk.com/node/106</link>
 <description>&lt;p&gt;這也是一個少見的要求,&lt;br /&gt;
但也相當合理&lt;br /&gt;
便是要在node 頁面(node/[nid])的右面欄加一個block, 用作顯示這個node 作者的其他文章&lt;br /&gt;
一個多用戶參與寫作的網站便很需要用這些block 來列表特定用戶的文章&lt;/p&gt;
&lt;p&gt;這個當然不可能給每一個用戶都做一個views&lt;br /&gt;
用戶數是有三萬以上的...&lt;br /&gt;
正解&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.joetsuihk.com/node/106&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.joetsuihk.com/node/106#comments</comments>
 <category domain="http://www.joetsuihk.com/free_tags/development">Development</category>
 <pubDate>Tue, 01 Jul 2008 04:18:13 -0700</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">106 at http://www.joetsuihk.com</guid>
</item>
<item>
 <title>[inmediahk]全站RSS, 包括 views, nodes.....</title>
 <link>http://www.joetsuihk.com/node/105</link>
 <description>&lt;p&gt;全站所有頁面的RSS 其實並不是什麼特別的功能,&lt;br /&gt;
views 使用 argument RSS, display all values 已經可以提供該views 的RSS 了&lt;br /&gt;
只細心設定, 全站RSS 只是小事一樁&lt;br /&gt;
但這對一個新聞性, 互動性高的網站應該很重要吧&lt;/p&gt;
&lt;p&gt;但&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.joetsuihk.com/node/105&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.joetsuihk.com/node/105#comments</comments>
 <category domain="http://www.joetsuihk.com/free_tags/development">Development</category>
 <pubDate>Tue, 01 Jul 2008 04:12:24 -0700</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">105 at http://www.joetsuihk.com</guid>
</item>
<item>
 <title>Drupal6.x 自定form template</title>
 <link>http://www.joetsuihk.com/form_templates6</link>
 <description>&lt;p&gt;這一篇可真是費盡了心神, 開發時間估計有十小時以上...&lt;br /&gt;
請多多支持.....&lt;/p&gt;
&lt;p&gt;一切事, 源於要修改 node/add 的form&lt;br /&gt;
因為太多摺了的選項, 想摺成一個&quot;advanced options&quot; 之內&lt;br /&gt;
(圖為最後成果)&lt;br /&gt;
&lt;img src=&quot;http://www.joetsuihk.com/files/96-1.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.joetsuihk.com/form_templates6&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.joetsuihk.com/form_templates6#comments</comments>
 <category domain="http://www.joetsuihk.com/free_tags/development">Development</category>
 <enclosure url="http://www.joetsuihk.com/files/96-1.png" length="10280" type="image/png" />
 <pubDate>Mon, 25 Feb 2008 06:58:41 -0800</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">96 at http://www.joetsuihk.com</guid>
</item>
<item>
 <title>Drupal6.0 theming 模版初探(二)</title>
 <link>http://www.joetsuihk.com/node/95</link>
 <description>&lt;p&gt;繼續鑽研&lt;br /&gt;
先弄清上一篇的一些疑問, 關於&quot;需要重新載入theme, 令theme 可以使用新增的 *.tpl.php&quot;&lt;br /&gt;
主站有一個官方的說明:(翻譯)&lt;/p&gt;
&lt;dl&gt;
&lt;dd&gt;
現在所有的theme 都需要註冊到資料庫(是之為theme registry). 在5.x 的環境, theme 是即場更新的. 但在6.x, theme 的每一個輸出都會經過hook_theme() 但不需要擔心, phptemplate 會幫你註冊新的theme 到hook_theme()&lt;/p&gt;
&lt;p&gt;但有一個例外, forms表格不需要, 也不會註冊(往後的Drupal版本可以會改變做法)&lt;br /&gt;
更多的資源你可以參考theming 手冊&lt;/p&gt;
&lt;p&gt;重要! 當你新增&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.joetsuihk.com/node/95&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.joetsuihk.com/node/95#comments</comments>
 <category domain="http://www.joetsuihk.com/free_tags/development">Development</category>
 <pubDate>Wed, 20 Feb 2008 07:26:09 -0800</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">95 at http://www.joetsuihk.com</guid>
</item>
<item>
 <title>Drupal6.0 theming 模版初探</title>
 <link>http://www.joetsuihk.com/node/94</link>
 <description>&lt;p&gt;上一次的更新已經是....九月!?!?&lt;br /&gt;
吐血中, 讀者們...不要走.....^^&lt;br /&gt;
留言的....多謝你們~無言以報&lt;/p&gt;
&lt;p&gt;入正題&lt;br /&gt;
從freelance 的血海之中抽身,&lt;br /&gt;
花了些許時間研究Drupal6.x 的theming system (模版系統)&lt;br /&gt;
一句說話, 驚為天人&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;前言&lt;/strong&gt;&lt;br /&gt;
&lt;a href=&quot;http://drupal.org/node/171188&quot; title=&quot;http://drupal.org/node/171188&quot;&gt;http://drupal.org/node/171188&lt;/a&gt;&lt;br /&gt;
講得很清楚, Drupal6.x 和5.x 一樣,&lt;br /&gt;
所有個人化, 修改代碼的工作都應該發生在 /sites 資料夾之內&lt;br /&gt;
這次的目標是在 /user/* 的頁面,&lt;br /&gt;
用戶名之後加代碼 (這次是簡單的加一個&quot;a&quot;)&lt;br /&gt;
&lt;img src=&quot;http://www.joetsuihk.com/files/94-1.gif&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;準備&lt;/strong&gt;&lt;br /&gt;
Druapl6.x 的theming 修改都是屬於某一theme 的&lt;br /&gt;
即是說, 修改garland 之後, 用戶轉到其他theme 便看不到修改了&lt;br /&gt;
(當然, 有其他方法&quot;強行&quot;用到全部theme...)&lt;br /&gt;
先將 /themes/garland 抄到 /sites/themes/garland (需要自建資料夾)&lt;br /&gt;
雖然Drupal6.x 不會再用theme 資料夾名決定theme 名稱,&lt;br /&gt;
但為了分別, 還是改: /sites/themes/garland -&amp;gt; /sites/themes/garland2&lt;br /&gt;
真正的修改theme 的名稱, 就要修改garland.info -&amp;gt; garland2.info&lt;br /&gt;
theme 資料夾內的 *.info 決定theme 的名稱&lt;br /&gt;
當然, 順手改一下 garland2.info 內的 name 參數&lt;br /&gt;
先不要到administer 改theme 成garland2&lt;/p&gt;
&lt;p&gt;另外, theme 的開發者在6.x 之後得到一個極強力的幫手,&lt;br /&gt;
&lt;a href=&quot;http://drupal.org/project/devel&quot;&gt;devel module&lt;/a&gt;&lt;br /&gt;
內裏的theme developer 便是&quot;drupal 內的 firebug&quot;&lt;br /&gt;
下載devel, 解壓到 /sites/modules/devel (需要自建資料夾)&lt;br /&gt;
到URL: /admin/build/modules 啟用模組&lt;br /&gt;
你就會看到&lt;br /&gt;
&lt;img src=&quot;http://www.joetsuihk.com/files/94-2.gif&quot; /&gt;&lt;br /&gt;
代表安裝成功了&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;正題&lt;/strong&gt;&lt;br /&gt;
到目標URL: /user/1&lt;br /&gt;
點擊theme developer 以啟用&lt;br /&gt;
然後你只要指到你想要修改的element 之上, theme developer 就會告訴你要修改那裏:&lt;br /&gt;
&lt;img scr=&quot;http://www.joetsuihk.com/files/94-3.gif&quot; /&gt;&lt;br /&gt;
/modules/user/user-profile.tpl.php (你指的可能是 user_profile_category.tpl.php 但這 tpl 是包在user-profile.tpl.php 之內的)&lt;br /&gt;
將/modules/user/user-profile.tpl.php 抄到 /sites/themes/garland2/user-profile.tpl.php&lt;br /&gt;
打開 /sites/themes/garland2/user-profile.tpl.php, 改成:&lt;br /&gt;
&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;div class=&amp;quot;profile&amp;quot;&amp;gt;&lt;br /&gt;a&lt;br /&gt;&amp;nbsp; &lt;span style=&quot;color: #000000&quot;&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;&amp;lt;?php &lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;print &lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;$user_profile&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;
儲存, 完成.&lt;br /&gt;
到URL: /admin/build/themes 改用garland2 作為預設theme&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;結語&lt;/strong&gt;&lt;br /&gt;
有了devel module, 開發快了很多很多, 免除了追蹤xhtml 來自那裏個檔案的麻煩&lt;br /&gt;
修改的門檻低了很多, 只要安裝了devel module, 一般人只要些少訓練就可以改theme 了&lt;br /&gt;
現時關於Drupal6.x theming 的資料只是剛好足夠明白基本原理&lt;br /&gt;
主站的 handbook 還需要很多很多教學, 例子才可以令人看得懂....&lt;br /&gt;
最後一點, 有點奇怪的是, theme 只可以在安裝的時候找一次theme 內的 *.tpl.php(修正1)&lt;br /&gt;
即是說, 轉到新的theme 之前要決定好theme 內有那些 tpl.php&lt;br /&gt;
只是這點比較麻煩&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;連結&lt;/strong&gt;&lt;br /&gt;
Overriding themable output - 這次的主要參考&lt;br /&gt;
&lt;a href=&quot;http://drupal.org/node/173880&quot; title=&quot;http://drupal.org/node/173880&quot;&gt;http://drupal.org/node/173880&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;修正&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;2008-02-20: 這是因為&lt;a href=&quot;http://www.joetsuihk.com/node/95&quot;&gt;theme registry&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
</description>
 <comments>http://www.joetsuihk.com/node/94#comments</comments>
 <category domain="http://www.joetsuihk.com/free_tags/development">Development</category>
 <enclosure url="http://www.joetsuihk.com/files/94-1.gif" length="17756" type="image/gif" />
 <pubDate>Tue, 19 Feb 2008 02:25:40 -0800</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">94 at http://www.joetsuihk.com</guid>
</item>
<item>
 <title>Theming 模版雜燴</title>
 <link>http://www.joetsuihk.com/theming-template-collection</link>
 <description>&lt;p&gt;Theming 的其中一個難題一定是多瀏覽器支援的問題&lt;br /&gt;
巿佔最高的品牌不跟足標準, 幾乎每一個瀏覽器都&quot;think different&quot;&lt;br /&gt;
難倒, 抓狂不少開發者&lt;br /&gt;
但既然每一個開發者都面對這樣的問題,&lt;br /&gt;
在這個web2.0 的時代就自然有解決的方法&lt;/p&gt;
&lt;p&gt;下面是一些CSS 的 framework&lt;br /&gt;
這些framwork 就像drupal 內建的jquery 一樣&lt;br /&gt;
集合一些難纏的CSS, 變作一個框&lt;br /&gt;
你再將你自己的內容放到裏面就可以了&lt;br /&gt;
用作開發新的主題應該很合用&lt;/p&gt;
&lt;p&gt;YAML builder&lt;br /&gt;
一個實用的WYSIWYG framework&lt;br /&gt;
可以自定一些常用的元素進去&lt;br /&gt;
&lt;a href=&quot;http://builder.yaml.de/&quot; title=&quot;http://builder.yaml.de/&quot;&gt;http://builder.yaml.de/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Yahoo 大廠的出品&lt;br /&gt;
使用不簡單, 英文說明為主&lt;br /&gt;
&lt;a href=&quot;http://developer.yahoo.com/yui/grids/#available-templates&quot; title=&quot;http://developer.yahoo.com/yui/grids/#available-templates&quot;&gt;http://developer.yahoo.com/yui/grids/#available-templates&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Intensivstaion&lt;br /&gt;
一些已經建好的常用layout&lt;br /&gt;
&lt;a href=&quot;http://www.intensivstation.ch/en/templates/&quot; title=&quot;http://www.intensivstation.ch/en/templates/&quot;&gt;http://www.intensivstation.ch/en/templates/&lt;/a&gt;&lt;/p&gt;
</description>
 <comments>http://www.joetsuihk.com/theming-template-collection#comments</comments>
 <category domain="http://www.joetsuihk.com/free_tags/development">Development</category>
 <category domain="http://www.joetsuihk.com/free_tags/drupal">Drupal</category>
 <pubDate>Wed, 26 Sep 2007 09:11:45 -0700</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">91 at http://www.joetsuihk.com</guid>
</item>
<item>
 <title>2007-09-16 Microwave Lab(一)</title>
 <link>http://www.joetsuihk.com/node/90</link>
 <description>&lt;p&gt;又再消失了兩個星期,&lt;br /&gt;
實在是對不起我的讀者..&lt;/p&gt;
&lt;p&gt;近來因為在做一單很有趣,&lt;br /&gt;
而且之前從沒有做過的類型的網站&lt;br /&gt;
而費枕忘餐的, 將工餘的時間都放了上去&lt;br /&gt;
連Drupal6 beta1 都還沒有下載&lt;br /&gt;
而且工作的過程之中, 更加發覺Drupal 的應用方面的強大&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.joetsuihk.com/node/90&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.joetsuihk.com/node/90#comments</comments>
 <category domain="http://www.joetsuihk.com/free_tags/development">Development</category>
 <category domain="http://www.joetsuihk.com/free_tags/drupal">Drupal</category>
 <pubDate>Sun, 16 Sep 2007 01:27:44 -0700</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">90 at http://www.joetsuihk.com</guid>
</item>
<item>
 <title>使用templates 自定user 頁</title>
 <link>http://www.joetsuihk.com/template-user-page</link>
 <description>&lt;p&gt;終於來到預定的templates 最後一章&lt;br /&gt;
這次只是給多一個例子給大家參考&lt;br /&gt;
並沒有新的技術, 函數要認識, 使用&lt;/p&gt;
&lt;p&gt;在一個用戶登入之後,&lt;br /&gt;
預設會到逹 user/[uid] 頁面&lt;br /&gt;
今次的目的就是改動這個頁面&lt;br /&gt;
例如:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;令登入都立即看到自己建立的nodes ( 配合使用views )&lt;/li&gt;
&lt;li&gt;不同的登入id 使用不同的頁面&lt;/li&gt;
&lt;li&gt;不同的roles 使用不同的頁面&lt;/li&gt;
&lt;li&gt;不同的profile fields(例如&quot;城市&quot;)到不同的頁面&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;等等&lt;br /&gt;
建立社區主導的網站應該會使用到這個教學&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.joetsuihk.com/template-user-page&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.joetsuihk.com/template-user-page#comments</comments>
 <category domain="http://www.joetsuihk.com/free_tags/development">Development</category>
 <category domain="http://www.joetsuihk.com/free_tags/drupal">Drupal</category>
 <pubDate>Wed, 15 Aug 2007 04:16:39 -0700</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">88 at http://www.joetsuihk.com</guid>
</item>
<item>
 <title>content-type 決定comment template</title>
 <link>http://www.joetsuihk.com/define-comment-template</link>
 <description>&lt;p&gt;原本以為之前的一篇文章總結了*.tpl.php 的用法&lt;br /&gt;
但今天還是忍不住寫了這一篇:&lt;br /&gt;
content-type 決定comment template&lt;/p&gt;
&lt;p&gt;例如, 如果有一個 comment-book.tpl.php 檔存在,&lt;br /&gt;
而你正在訪問的node 的node-type又是 book 的話,&lt;br /&gt;
drupal 就會使用comment-bookk.tpl.php, 而不使用comment.tpl.php&lt;/p&gt;
&lt;p&gt;作為此系列的第二篇,&lt;br /&gt;
先從編程的角度解釋整個工作原理&lt;br /&gt;
再提供相關的代碼&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.joetsuihk.com/define-comment-template&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.joetsuihk.com/define-comment-template#comments</comments>
 <category domain="http://www.joetsuihk.com/free_tags/development">Development</category>
 <category domain="http://www.joetsuihk.com/free_tags/drupal">Drupal</category>
 <pubDate>Mon, 13 Aug 2007 02:30:42 -0700</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">87 at http://www.joetsuihk.com</guid>
</item>
<item>
 <title>2. Drupal cck contemplate theming 2</title>
 <link>http://www.joetsuihk.com/2_drupal_cck_contemplate_theming_2</link>
 <description>&lt;p&gt;原本打算講解一下views 的theming&lt;br /&gt;
但發覺contemplate 的部分太草率&lt;br /&gt;
還是再詳盡解說一下應用技巧&lt;/p&gt;
&lt;p&gt;contemplate 的設定介面分成三個群組&lt;br /&gt;
teaser, body, RSS (圖中紅框)&lt;br /&gt;
teaser 是撮要, 一般的首頁都使用撮要的顯示&lt;br /&gt;
雖然撮要的內容可能和正文一樣&lt;/p&gt;
&lt;p&gt;題外話:&lt;br /&gt;
Drupal 內建的撮要機制令撮要獨立的放到一個field 中處理&lt;br /&gt;
所以當儲存node 的時候沒有設定撮要,&lt;br /&gt;
則及後再開撮要都沒有顯示撮要&lt;/p&gt;
&lt;p&gt;contemplate 可以對teaser, body, RSS 作特定的顯示方式&lt;br /&gt;
而修改的方法則完全一樣&lt;br /&gt;
左面的窗口是輸出的php, html 代碼 (圖中藍框)&lt;br /&gt;
右面為一些可用的php 變數 (圖中綠框)&lt;br /&gt;
先按Affect body output 激活左面窗口&lt;br /&gt;
然後隨意修改html, php&lt;br /&gt;
再在右面的窗口按你想加入的變數, 如$node-&amp;gt;title, $node-&amp;gt;type 等&lt;br /&gt;
相關的code 就會加到左面的窗口了&lt;/p&gt;
&lt;p&gt;按submit 就大功告成了&lt;br /&gt;
&lt;img src=&quot;http://www.joetsuihk.com/files/contemplate1.gif&quot; /&gt;&lt;/p&gt;
</description>
 <comments>http://www.joetsuihk.com/2_drupal_cck_contemplate_theming_2#comments</comments>
 <category domain="http://www.joetsuihk.com/free_tags/development">Development</category>
 <category domain="http://www.joetsuihk.com/free_tags/drupal">Drupal</category>
 <enclosure url="http://www.joetsuihk.com/files/contemplate1.gif" length="32411" type="image/gif" />
 <pubDate>Fri, 18 May 2007 05:03:38 -0700</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">57 at http://www.joetsuihk.com</guid>
</item>
</channel>
</rss>
