J Solutions 是少數把 SEO 的原則運用在網頁設計上的香港網頁設計公司,也是少數提倡遵照網頁標準的公司。我們不捆綁客戶,系統的擁有權全歸客戶。J Solutions 亦致力把正確訊息宣揚,令消費者選用最合自己需要的網頁設計公司和方案,如果你有興趣和本網站交換連結,請寄電郵提出

Wordpress 顯示相同標籤的文章列表

最近比較忙,偷空分享一個 Wordpress 的小技巧。

Wordpress 用家應該都知道,每篇文章都可加入標籤,方便讀者找到題材相近的文章。如果可以在網頁上顯示這些文章的標題和連結,製作成一個列表,相信對讀者很有幫助,亦可增加網誌的 Page View。筆者以前介紹過用分類 (Category) 製作「相關文章」列表,今次改用標籤來做,而另一個不同之處是把這列表放在側欄上。放在側欄和放在文章內容下方有什麼不同呢?答案是絕大部分 Template 中,前者是 The Loop 完結後才運行,而很多 template tags 是只可用在 The Loop 之中,如果你發現以前修改 template 時常常遇到問題,很可能是沒注意到這問題,故亂把內文一些元素移到側欄之上。

要以相同標籤製作「相關文章」列表,首先當然要獲取文章的標籤,可使用 get_the_tags(post_id) 這個 function:

  1.  
  2. <?php
  3.         global $post;
  4.         $alltags = ;
  5.         $posttags = get_the_tags($post->ID);
  6.         if ($posttags) {
  7.                 foreach($posttags as $tag) {
  8.                         $alltags . $tag->name . ‘,’;
  9.                 }
  10.         }
  11. ?>
  12.  

以上方法可取得文章所有標籤,每個標籤用,分開,用意是之後顯示包舍上述任何一個標籤的文章,如果希望顯示包括所有標籤的文章,則用+號分隔。

之後可用以下方法抽取相關文章,特別要注意的是用 get_posts function,這 function 用於 The Loop 之外。

  1.  
  2. <?php
  3.         $args = array(
  4.                         ‘numberposts’ => 5,
  5.                         ‘post__not_in’ => array($post->ID),
  6.                         ‘orderby’=>‘rand’,
  7.                         ‘tag’ => $alltags
  8.                         );
  9.         $myposts = get_posts($args);
  10.         foreach($myposts as $post) {
  11.                 echo ‘<li><a href="’;
  12.                 the_permalink();
  13.                 echo ‘">’;
  14.                 the_title();
  15.                 echo ‘</a></li>’;
  16.         }
  17. ?>
  18.  

以上幾個 arugments,意思分別是顯示5篇相關文、不顯示目前這篇文章及隨機顯示,另外需要設計只有獨立顯示一篇文章時,才使用這功能。

加入書籤:
發表回應

如何在 Zen Cart 加入最新版本 FCKEditor

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,試用及提交表單。

zen-fck1

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 就可使用了。

zen-fck2

刪除示範檔案

若果你開啟了檔案上傳功能,必須記得把示範檔案刪除,因 FCKEditor 的位置放於任何人也能瀏覽的目錄,即可看到你上傅的所有檔案,包括你未想公開的。

加入書籤:
發表回應

Delicious 可以借 Twitter 注入生氣嗎?

Delicious 書籤服務終於推出新功能了,3個新增的功能中2個和 Twitter 相關,明顯是想借助後者的超高人氣為漸漸失去光彩的 social bookmark 服務加入新意。

delicious_fresh_bookmark

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

delicious_fresh_bookmark2

另一方面,當用戶加入書籤時可同時分享到 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,與及簡化分享的步驟和形式,否則像蜻蜓點水式的改動,則難以改變現狀。

加入書籤:
發表回應