Plugin FAQ

Plugin FAQ

出自LifeType 中文文件计画

跳转到: 导航, 搜寻

目录

外挂程式常见问题集

本区是用来整理 LifeType中文论坛 上与外挂程式相关的常见问题。希望能对入门的使用者有些许的帮助。问题内容将随论坛问题数量增加,目前尚在整理中。

我已经把外挂程式放到 /plugins 的目录当中,可是不管我更新几次页面,就是看不到任何外挂程式啊?

如果你是在 Windows 下使用 PHP 4.3.X 来安装 LifeType,那么这应该是 PHP 中 glob() 函示的一个臭虫。目前的解决方式,是使用 LifeType 自订的 myGlob() 函示。

请将 /your-blog-folder/class/misc/glob.class.php 中的

  1. function Glob( $folder = ".", $pattern = "*", $flags = 0 )
  2. {
  3. if( function_exists("glob")) {
  4. // call the native glob function with parameters
  5. $fileName = $folder;
  6. if( substr($fileName, -1) != "/" )
  7. $fileName .= "/";
  8. $fileName .= $pattern;
  9.  
  10. return glob( $fileName, $flags );
  11. }
  12. else {
  13. // call our own implementation
  14. return Glob::myGlob( $folder, $pattern );
  15. }
  16. }

改为

  1. function Glob( $folder = ".", $pattern = "*", $flags = 0 )
  2. {
  3. // call our own implementation
  4. return Glob::myGlob( $folder, $pattern );
  5. }

这样就可以了。

我可以一次安装所有的外挂程式吗?

严重警告所有 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,把

  1. {assign">assign">assign var="blog" value=$post->getBlogInfo()}
  2. {assign">assign">assign var="request" value=$blog->getBlogRequestGenerator()}
  3. <h5>{$post->getTopic()|strip_tags}</h5>
  4. <div class="subtitle">
  5. {$locale->tr("blog")} <a href="{$request->blogLink()}">{$blog->getBlog()}</a>
  6. </div>
  7. <p>
  8. {$post->getText()|strip_tags|truncate:200:"..."}
  9. </p>
  10. <div class="peu">
  11.  
  12. {assign">assign">assign var="postCategories" value=$post->getCategories()}
  13. {assign">assign">assign var="postOwner" value=$post->getUserInfo()}
  14. {assign">assign">assign var="postDate" value=$post->getDateObject()}
  15. <a href="{$request->postPermalink($post)}" class="noborder">
  16. <img src="imgs/post.png" width="10" height="11" alt="Permalink" />
  17. </a>
  18. &nbsp;{$locale->tr("posted_by")} {$postOwner->getUsername()}, {$locale->formatDate($postDate,"%e %B %Y")} |
  19. <img src="imgs/comment.png" width="11" height="10" alt="{$locale->tr("comments")}" />&nbsp;
  20. <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>
  21. <br style="clear: both;" />
  22. </div>

改为

  1. //get the password_protected value object from lifetype
  2. {assign">assign">assign var=isSecretField value=$post->getFieldObject("password_protected")}
  3. // if value object empty or has no password protection, then we show the post
  4. {if empty($isSecretField) || $isSecretField->getValue() != 1}
  5. {assign">assign">assign var="blog" value=$post->getBlogInfo()}
  6. {assign">assign">assign var="request" value=$blog->getBlogRequestGenerator()}
  7. <h5>{$post->getTopic()|strip_tags}</h5>
  8. <div class="subtitle">
  9. {$locale->tr("blog")} <a href="{$request->blogLink()}">{$blog->getBlog()}</a>
  10. </div>
  11. <p>
  12. {$post->getText()|strip_tags|truncate:200:"..."}
  13. </p>
  14. <div class="peu">
  15.  
  16. {assign">assign">assign var="postCategories" value=$post->getCategories()}
  17. {assign">assign">assign var="postOwner" value=$post->getUserInfo()}
  18. {assign">assign">assign var="postDate" value=$post->getDateObject()}
  19. <a href="{$request->postPermalink($post)}" class="noborder">
  20. <img src="imgs/post.png" width="10" height="11" alt="Permalink" />
  21. </a>
  22. &nbsp;{$locale->tr("posted_by")} {$postOwner->getUsername()}, {$locale->formatDate($postDate,"%e %B %Y")} |
  23. <img src="imgs/comment.png" width="11" height="10" alt="{$locale->tr("comments")}" />&nbsp;
  24. <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>
  25. <br style="clear: both;" />
  26. </div>
  27. {/if}

请仔细看 2-5 行以及 28 行,这是加上去的喔。他的目的如下:

  • 检查你的文章有没有 password_protected 这个自订栏位。
  • 如果有就检查他有没有密码保护。
  • 如果有密码保护,就不显示出这篇文章。

为什么我装了 AuthImage Plugin,也修改了相关的模版,可是认证的图形就是显示不出来,只显示一个红色的叉叉?

那是因为在 LifeType 的预设安装中,./tmp目录是无法被任何人读取的。

要解决这个问题,请在你的 ./tmp/authimage 的目录下加入一个 .htacess 的档案,内容是

  1. <Files "*">
  2. Order deny,allow
  3. Allow from all
  4. </Files>

这样就可以了!