Plugin FAQ |
出自LifeType 中文文件計畫
第56行: | 第56行: | ||
注意!這些外掛程式不必全部安裝,請依照自己的環境選擇適當的外掛程式來安裝就可以了。 | 注意!這些外掛程式不必全部安裝,請依照自己的環境選擇適當的外掛程式來安裝就可以了。 | ||
+ | |||
+ | ==為什麼我裝了 Secret Plugin 這個外掛程式,可是我那些被保護的文章還是會顯示在 RSS 與 Summary 的頁面呢?== | ||
+ | |||
+ | 這是因為 Secret Plugin 只攔截了從 index.php 來的要求,可是沒有攔截從 rss.php 與 summary.php 所來的要求。修改的方式很簡單,這裡我們以 Summary 頁面為例子。請依照下面方式修改: | ||
+ | |||
+ | 請修改 /templates/summary/post.template,把 | ||
+ | |||
+ | <smarty> | ||
+ | {assign var="blog" value=$post->getBlogInfo()} | ||
+ | {assign var="request" value=$blog->getBlogRequestGenerator()} | ||
+ | <h5>{$post->getTopic()|strip_tags}</h5> | ||
+ | <div class="subtitle"> | ||
+ | {$locale->tr("blog")} <a href="{$request->blogLink()}">{$blog->getBlog()}</a> | ||
+ | </div> | ||
+ | <p> | ||
+ | {$post->getText()|strip_tags|truncate:200:"..."} | ||
+ | </p> | ||
+ | <div class="peu"> | ||
+ | |||
+ | {assign var="postCategories" value=$post->getCategories()} | ||
+ | {assign var="postOwner" value=$post->getUserInfo()} | ||
+ | {assign var="postDate" value=$post->getDateObject()} | ||
+ | <a href="{$request->postPermalink($post)}" class="noborder"> | ||
+ | <img src="imgs/post.png" width="10" height="11" alt="Permalink" /> | ||
+ | </a> | ||
+ | {$locale->tr("posted_by")} {$postOwner->getUsername()}, {$locale->formatDate($postDate,"%e %B %Y")} | | ||
+ | <img src="imgs/comment.png" width="11" height="10" alt="{$locale->tr("comments")}" /> | ||
+ | <a href="{$request->postPermalink($post)}#comments">{if $post->getTotalComments() eq 0}{$locale->tr("comment on this")}{else}{$post->getTotalComments()} {$locale->tr("comments")|capitalize}{/if}</a> | ||
+ | <br style="clear: both;" /> | ||
+ | </div> | ||
+ | </smarty> | ||
+ | |||
+ | 改為 | ||
+ | |||
+ | <smarty> | ||
+ | //get the password_protected value object from lifetype | ||
+ | {assign var=isSecretField value=$post->getFieldObject("password_protected")} | ||
+ | // if value object empty or has no password protection, then we show the post | ||
+ | {if empty($isSecretField) || $isSecretField->getValue() != 1} | ||
+ | {assign var="blog" value=$post->getBlogInfo()} | ||
+ | {assign var="request" value=$blog->getBlogRequestGenerator()} | ||
+ | <h5>{$post->getTopic()|strip_tags}</h5> | ||
+ | <div class="subtitle"> | ||
+ | {$locale->tr("blog")} <a href="{$request->blogLink()}">{$blog->getBlog()}</a> | ||
+ | </div> | ||
+ | <p> | ||
+ | {$post->getText()|strip_tags|truncate:200:"..."} | ||
+ | </p> | ||
+ | <div class="peu"> | ||
+ | |||
+ | {assign var="postCategories" value=$post->getCategories()} | ||
+ | {assign var="postOwner" value=$post->getUserInfo()} | ||
+ | {assign var="postDate" value=$post->getDateObject()} | ||
+ | <a href="{$request->postPermalink($post)}" class="noborder"> | ||
+ | <img src="imgs/post.png" width="10" height="11" alt="Permalink" /> | ||
+ | </a> | ||
+ | {$locale->tr("posted_by")} {$postOwner->getUsername()}, {$locale->formatDate($postDate,"%e %B %Y")} | | ||
+ | <img src="imgs/comment.png" width="11" height="10" alt="{$locale->tr("comments")}" /> | ||
+ | <a href="{$request->postPermalink($post)}#comments">{if $post->getTotalComments() eq 0}{$locale->tr("comment on this")}{else}{$post->getTotalComments()} {$locale->tr("comments")|capitalize}{/if}</a> | ||
+ | <br style="clear: both;" /> | ||
+ | </div> | ||
+ | {/if} | ||
+ | </smarty> | ||
+ | |||
+ | 請仔細看 2-5 行以及 28 行,這是加上去的喔。他的目的如下: | ||
+ | *檢查你的文章有沒有 password_protected 這個自訂欄位。 | ||
+ | *如果有就檢查他有沒有密碼保護。 | ||
+ | *如果有密碼保護,就不顯示出這篇文章。 |
在2005年12月31日 (六) 19:26所做的修訂版本
目錄 |
外掛程式常見問題集
本區是用來整理 LifeType中文論壇 上與外掛程式相關的常見問題。希望能對入門的使用者有些許的幫助。問題內容將隨論壇問題數量增加,目前尚在整理中。
我已經把外掛程式放到 /plugins 的目錄當中,可是不管我更新幾次頁面,就是看不到任何外掛程式啊?
如果你是在 Windows 下使用 PHP 4.3.X 來安裝 LifeType,那麼這應該是 PHP 中 glob() 函示的一個臭蟲。目前的解決方式,是使用 LifeType 自訂的 myGlob() 函示。
請將 /your-blog-folder/class/misc/glob.class.php 中的
{ // call the native glob function with parameters $fileName = $folder; $fileName .= "/"; $fileName .= $pattern; } else { // call our own implementation } }
改為
{ // call our own implementation }
這樣就可以了。
我可以一次安裝所有的外掛程式嗎?
嚴重警告所有 LifeType 的使用者,請勿把所有的外掛程式一次全放到 LifeType 的 /plugins 目錄底下。主要有兩個原因:
1. 避免加重 LifeType 系統的負擔。因為 LifeType 必須要花額外的系統資源來執行外掛程式,所以越多的外掛程式只會造成系統越慢。
2. 避免除錯困難。當你放入所有的外掛程式,當系統出錯時很難立即知道是由那個外掛程式所造成。
所以,建議安裝外掛程式時應該一個一個安裝,並且只安裝你自己需要的外掛程式。
我已經受不了垃社迴響/引用的攻擊了,LifeType 有防制垃圾迴響/引用的外掛程式嗎?
除了貝氏過濾的機制外,LifeType 另外還提供了幾個對付垃圾迴響/引用的外掛程式,可以有效的阻擋垃圾迴響/引用的騷擾。請參考: 垃圾防制干擾管理,這裡有這些外掛程式的詳細說明。
注意!這些外掛程式不必全部安裝,請依照自己的環境選擇適當的外掛程式來安裝就可以了。
為什麼我裝了 Secret Plugin 這個外掛程式,可是我那些被保護的文章還是會顯示在 RSS 與 Summary 的頁面呢?
這是因為 Secret Plugin 只攔截了從 index.php 來的要求,可是沒有攔截從 rss.php 與 summary.php 所來的要求。修改的方式很簡單,這裡我們以 Summary 頁面為例子。請依照下面方式修改:
請修改 /templates/summary/post.template,把
<h5>{$post->getTopic()|strip_tags}</h5> <div class="subtitle"> {$locale->tr("blog")} <a href="{$request->blogLink()}">{$blog->getBlog()}</a> </div> <p> {$post->getText()|strip_tags|truncate:200:"..."} </p> <div class="peu"> <a href="{$request->postPermalink($post)}" class="noborder"> <img src="imgs/post.png" width="10" height="11" alt="Permalink" /> </a> {$locale->tr("posted_by")} {$postOwner->getUsername()}, {$locale->formatDate($postDate,"%e %B %Y")} | <img src="imgs/comment.png" width="11" height="10" alt="{$locale->tr("comments")}" /> <br style="clear: both;" /> </div>
改為
//get the password_protected value object from lifetype // if value object empty or has no password protection, then we show the post <h5>{$post->getTopic()|strip_tags}</h5> <div class="subtitle"> {$locale->tr("blog")} <a href="{$request->blogLink()}">{$blog->getBlog()}</a> </div> <p> {$post->getText()|strip_tags|truncate:200:"..."} </p> <div class="peu"> <a href="{$request->postPermalink($post)}" class="noborder"> <img src="imgs/post.png" width="10" height="11" alt="Permalink" /> </a> {$locale->tr("posted_by")} {$postOwner->getUsername()}, {$locale->formatDate($postDate,"%e %B %Y")} | <img src="imgs/comment.png" width="11" height="10" alt="{$locale->tr("comments")}" /> <br style="clear: both;" /> </div>
請仔細看 2-5 行以及 28 行,這是加上去的喔。他的目的如下:
- 檢查你的文章有沒有 password_protected 這個自訂欄位。
- 如果有就檢查他有沒有密碼保護。
- 如果有密碼保護,就不顯示出這篇文章。