Plugin FAQ |
出自LifeType 中文文件計畫
(→外掛程式常見問題集) |
(→外掛程式常見問題集) |
||
(7個中途的修訂版本沒有顯示。) | |||
第1行: | 第1行: | ||
[[Category:FAQ]] | [[Category:FAQ]] | ||
- | |||
=外掛程式常見問題集= | =外掛程式常見問題集= | ||
第7行: | 第6行: | ||
==我已經把外掛程式放到 /plugins 的目錄當中,可是不管我更新幾次頁面,就是看不到任何外掛程式啊?== | ==我已經把外掛程式放到 /plugins 的目錄當中,可是不管我更新幾次頁面,就是看不到任何外掛程式啊?== | ||
- | 如果你是在 Windows 下使用 PHP 4.3.X 來安裝 LifeType,那麼這應該是 PHP 中 [http://tw.php.net/manual/tw/function.glob.php glob()] 函示的一個臭蟲。目前的解決方式,是使用 LifeType 自訂的 myGlob() 函示。 | + | 如果你是在 '''Windows''' 下使用 PHP 4.3.X 來安裝 LifeType,那麼這應該是 PHP 中 [http://tw.php.net/manual/tw/function.glob.php glob()] 函示的一個臭蟲。目前的解決方式,是使用 LifeType 自訂的 myGlob() 函示。 |
請將 /your-blog-folder/class/misc/glob.class.php 中的 | 請將 /your-blog-folder/class/misc/glob.class.php 中的 | ||
第41行: | 第40行: | ||
這樣就可以了。 | 這樣就可以了。 | ||
+ | |||
+ | ==我可以一次安裝所有的外掛程式嗎?== | ||
+ | |||
+ | 嚴重警告所有 LifeType 的使用者,'''請勿把所有的外掛程式一次全放到 LifeType 的 /plugins 目錄底下'''。主要有兩個原因: | ||
+ | |||
+ | 1. '''避免加重 LifeType 系統的負擔'''。因為 LifeType 必須要花額外的系統資源來執行外掛程式,所以越多的外掛程式只會造成系統越慢。 | ||
+ | |||
+ | 2. '''避免除錯困難'''。當你放入所有的外掛程式,當系統出錯時很難立即知道是由那個外掛程式所造成。 | ||
+ | |||
+ | 所以,建議安裝外掛程式時應該一個一個安裝,並且只安裝你自己需要的外掛程式。 | ||
+ | |||
+ | ==我已經受不了垃社迴響/引用的攻擊了,LifeType 有防制垃圾迴響/引用的外掛程式嗎?== | ||
+ | |||
+ | 除了貝氏過濾的機制外,LifeType 另外還提供了幾個對付垃圾迴響/引用的外掛程式,可以有效的阻擋垃圾迴響/引用的騷擾。請參考: [[Current_Plugins#垃圾防制干擾管理|垃圾防制干擾管理]],這裡有這些外掛程式的詳細說明。 | ||
+ | |||
+ | 注意!這些外掛程式不必全部安裝,請依照自己的環境選擇適當的外掛程式來安裝就可以了。 | ||
+ | |||
+ | ==為什麼我裝了 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 這個自訂欄位。 | ||
+ | *如果有就檢查他有沒有密碼保護。 | ||
+ | *如果有密碼保護,就不顯示出這篇文章。 | ||
+ | |||
+ | ==為什麼我裝了 AuthImage Plugin,也修改了相關的模版,可是認證的圖形就是顯示不出來,只顯示一個紅色的叉叉?== | ||
+ | |||
+ | 那是因為在 LifeType 的預設安裝中,'''./tmp'''目錄是無法被任何人讀取的。 | ||
+ | |||
+ | 要解決這個問題,請在你的 '''./tmp/authimage''' 的目錄下加入一個 .htacess 的檔案,內容是 | ||
+ | |||
+ | <apache> | ||
+ | <Files "*"> | ||
+ | Order deny,allow | ||
+ | Allow from all | ||
+ | </Files> | ||
+ | </apache> | ||
+ | |||
+ | 這樣就可以了! |
當前修訂版本
目錄 |
外掛程式常見問題集
本區是用來整理 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 這個自訂欄位。
- 如果有就檢查他有沒有密碼保護。
- 如果有密碼保護,就不顯示出這篇文章。
為什麼我裝了 AuthImage Plugin,也修改了相關的模版,可是認證的圖形就是顯示不出來,只顯示一個紅色的叉叉?
那是因為在 LifeType 的預設安裝中,./tmp目錄是無法被任何人讀取的。
要解決這個問題,請在你的 ./tmp/authimage 的目錄下加入一個 .htacess 的檔案,內容是
<Files "*"> Order deny,allow Allow from all </Files>
這樣就可以了!