J Solutions 是少數把 SEO 的原則運用在網頁設計上的香港網頁設計公司,也是少數提倡遵照網頁標準的公司。我們不捆綁客戶,系統的擁有權全歸客戶。J Solutions 亦致力把正確訊息宣揚,令消費者選用最合自己需要的網頁設計公司和方案,如果你有興趣和本網站交換連結,請
寄電郵提出。
最近比較忙,偷空分享一個 Wordpress 的小技巧。
Wordpress 用家應該都知道,每篇文章都可加入標籤,方便讀者找到題材相近的文章。如果可以在網頁上顯示這些文章的標題和連結,製作成一個列表,相信對讀者很有幫助,亦可增加網誌的 Page View。筆者以前介紹過用分類 (Category) 製作「相關文章」列表,今次改用標籤來做,而另一個不同之處是把這列表放在側欄上。放在側欄和放在文章內容下方有什麼不同呢?答案是絕大部分 Template 中,前者是 The Loop 完結後才運行,而很多 template tags 是只可用在 The Loop 之中,如果你發現以前修改 template 時常常遇到問題,很可能是沒注意到這問題,故亂把內文一些元素移到側欄之上。
要以相同標籤製作「相關文章」列表,首先當然要獲取文章的標籤,可使用 get_the_tags(post_id) 這個 function:
-
-
<?php
-
-
$alltags = ”;
-
$posttags = get_the_tags($post->ID);
-
if ($posttags) {
-
foreach($posttags as $tag) {
-
$alltags . $tag->name . ‘,’;
-
}
-
}
-
?>
-
以上方法可取得文章所有標籤,每個標籤用,分開,用意是之後顯示包舍上述任何一個標籤的文章,如果希望顯示包括所有標籤的文章,則用+號分隔。
之後可用以下方法抽取相關文章,特別要注意的是用 get_posts function,這 function 用於 The Loop 之外。
-
-
<?php
-
-
‘numberposts’ => 5,
-
‘post__not_in’ =>
array($post->
ID),
-
‘orderby’=>‘rand’,
-
‘tag’ => $alltags
-
);
-
$myposts = get_posts($args);
-
foreach($myposts as $post) {
-
-
the_permalink();
-
-
the_title();
-
-
}
-
?>
-
以上幾個 arugments,意思分別是顯示5篇相關文、不顯示目前這篇文章及隨機顯示,另外需要設計只有獨立顯示一篇文章時,才使用這功能。
Zen Cart 附帶的 WYSIWYG Editor 是 HTMLArea,HTMLArea 是一個很舊、而且不再更新的程式,因此未必是最理想的選擇。目前兩個最流行且免費的 Editor 有 FCKEditor 和 TinyMCE,均可用在 Zen Cart 系統內。雖然有人製作了插件把這兩個編輯器加入,然而這些插件很久沒有更新,未能提供最新版本的 Editor。新的版本除了會加入新功能外,最重要是修補安全漏洞,使用版本太舊的 Editor 存有風險。其實在 Zen Cart 加入 Editor 一點也不難,今次為大家示範如何加入 FCKEditor。
下載及設定 FCKEditor
首先當然要到 FCKEditor 網站下載最新版本的程式,解壓然後上傳到 Zen Cart 安裝目錄(或根目錄)/editors/fckeditor/。順帶一提,上傳這類有很多檔案的程式,更快捷的方法是先上傳整個壓縮檔再在伺服器上解壓,有些網存公司提供的控制台,例如 cpanel 有檔案管理功能,可用作上傳及解壓,當然也有其他方法可以做到,讀者可向網存公司查詢伺服器是否支援解壓功能。上傳後先測試一下,瀏覽 http://你的網址/Zen Cart 安裝目錄(如有)/editors/fckeditor/_samples/default.html,選擇 PHP 的 sample,試用及提交表單。

FCKEditor 有很多 HTMLArea 沒有的功能,其中一個很實用的功能是可使用自定 css style,令輸入的資料有統一的顯示效果,不必死記以前輸入產品資料時用了什麼字體大小、字體顏色等等。而用家更可進一步預先設定模版,例如可以先製作一個產品規格的模版 (當然不要和 Zen Cart 原有的功能重疊),方便日後輸入同類資料。如果大家有需要使用上述功能,請參看 http://docs.fckeditor.net/。
另一個 FCKEditor 很受歡迎的功能是檔案上傳,例如在編輯器中直接上傳圖片,甚為方便。
首先必須開啟這功能
1. 確定 Zen Cart 安裝目錄(或根目錄)/editors/fckeditor/fckconfig.js 中,
var _FileBrowserLanguage = 'php' ;
var _QuickUploadLanguage = 'php' ;
2. 開啟 Zen Cart 安裝目錄(或根目錄)/editors/fckeditor/editor/filemanger/connectors/php/config.php,更改 $Config['Enabled'] 為 true.
然後設定上傳的目錄
3. 在 Zen Cart 安裝目錄(或根目錄)/editors/fckeditor/editor/filemanger/connectors/php/config.php,設定上傳檔案的目錄 (relative to root),例如
$Config['UserFilesPath'] = '/userfiles/' ;
4. 部分伺服器需要更改以上目錄的權限到 777 才能上傳,可向網存公司查詢。有關此題目,可參看 Permissions under phpsuexec 。
其實 FCKEditor 有一個更強大的檔案上傳插件,不過是收費版本,讀者可自行決定是否購買。
完成後把更改過的檔案上傳及測試。
整合到 Zen Cart
把 FCKEditor 整合到 Zen Cart 真的很容易,原因是 Zen Cart 一早已替你設定了!開啟 Zen Cart 安裝目錄(或根目錄)/admin目錄/includes/init_includes/init_html_editor.php (注意:據 Zen Cart 的安全指引,必須把 admin 目錄更名),uncomment 以下一句,即刪除 //
// $editors_list['FCKEDITOR'] = array('desc' => EDITOR_FCKEDITOR, 'handler' => 'fckeditor.php', 'special_needs' => '');
把更改的檔案上傅到 Zen Cart 安裝目錄(或根目錄)/admin目錄/includes/init_includes/overrides/ 目錄就完成,到後台更改 Editor 為 FCKEditor 就可使用了。

刪除示範檔案
若果你開啟了檔案上傳功能,必須記得把示範檔案刪除,因 FCKEditor 的位置放於任何人也能瀏覽的目錄,即可看到你上傅的所有檔案,包括你未想公開的。
Delicious 書籤服務終於推出新功能了,3個新增的功能中2個和 Twitter 相關,明顯是想借助後者的超高人氣為漸漸失去光彩的 social bookmark 服務加入新意。

首先,Delicious 把首頁更改成 Fresh Bookmarks。所謂 Fresh Bookmarks,大致上是以 Twitter 上有多少人談論,及用戶加入的書籤而計算出來的排行表,顯示當前最受人關注的消息,而在每一個 bookmark 的下方,更加入了 related tweets。在官方網誌中提到,在技術上 Fresh Bookmarks 是計算相關的 tweets 而非單純地點算有多少個 tweets 包含某個連結,而且要做到去除低質量和spam內容。以往 Delicious 首頁的書籤很多都和設計相關,更改之後則可包含更多時事、科技、互聯網和媒體的資訊。而 Fresh Bookmarks 應該比 Tweetmeme 這類只考慮連結數量的網站更準確。

另一方面,當用戶加入書籤時可同時分享到 Twitter,並可以寫下訊息,和 twitthat 的功能類似,可惜此功能不會把網頁標題加入訊息內,未必每個用戶都習慣這模式。
較早時 addtoany 發表了一個統計報告,發現 Fackbook 已成為人們最常用的分享內容渠道 (24%),第2和第3分別是 e-mail (11.1%) 和 Twitter (10.8%),Delicious 則只有 4.5%,而 Digg 的 4.4% 也是同病相連,難怪兩者都要出盡法寶求變。雖然 addtoany 的用戶數目大幅落後於 sharethis 和 addthis,但個人估計要是做一個正式的調查,排名也不會有太大改變。
Readwriteweb 對 Fresh Bookmarks 的構思大表加許,認為 Delicious 老早就應該加入這功能,並可超越 Digg。Jansen 則希望在自己的 bookmark 頁面,也能顯示每個條目有什麼相關的 tweets,以便可以發現關注同一訊息的 Twitter 用戶。而亦有人,包括 Delicious 的原作者不贊同這構思 (saving != sharing)。
究竟現在人們會如何使用 social bookmark 服務呢?雖然這類網站鼓勵用戶交流分享,但相信有不少用戶只會記下日後會再次瀏覽的網頁,時效性很短或者只看一次的則不會記下,筆者也是這類用戶之一。這2項新功能對我們不是很吸引,未必會改變我們使用 Delicious 的習慣。Cloudnotes 的看法大致和我相同,把 Twitter 和書籤、note-taking 當作不同類的服務使用。
以前分享訊息的平台只有 social bookmark,現在則有更多可以即時和其他人交流的渠道選擇,攤分了 social bookmark 的功能。既然新增的功能是針對把 Delicious 用作分享的用戶,就應該更加深入地整合 Twitter,例如 Fresh Bookmarks 可以增加數量,在用戶個人頁面顯示 related tweets,與及簡化分享的步驟和形式,否則像蜻蜓點水式的改動,則難以改變現狀。