Modify Summary

Modify Summary

出自LifeType 中文文件計畫

(修訂版本間差異)
跳轉到: 導航, 搜尋
(下拉式Blog列表)
當前修訂版本 (2006年8月15日 (二) 12:12) (檢視原始碼)
(不顯示新使用者的「恭喜!」文章)
 
第86行: 第86行:
原文發表在 [http://phys.idv.tw/plog/post/1/262 Resnick's small world]。
原文發表在 [http://phys.idv.tw/plog/post/1/262 Resnick's small world]。
 +
 +
== 如何讓最新文章能顯示所有的文章,而不是只有一個 Blog 一篇文章呢 ==
 +
 +
把class/summary/dao/summarystats.class.php裡的function getRecentArticles 裡面的
 +
<php>
 +
while( ($row = $result->FetchRow()) && ($i < $maxPosts) ) {
 +
    if (!in_array($row["blog_id"], $blogs))
 +
    {
 +
        $blogs[] = $row["blog_id"];
 +
        array_push( $posts, $this->articles->_fillArticleInformation($row) );
 +
        $i++;
 +
    }
 +
}
 +
</php>
 +
改成
 +
<php>
 +
while( ($row = $result->FetchRow()) && ($i < $maxPosts) ) {
 +
//    if (!in_array($row["blog_id"], $blogs))
 +
//    {
 +
//        $blogs[] = $row["blog_id"];
 +
          array_push( $posts, $this->articles->_fillArticleInformation($row) );
 +
          $i++;
 +
//    }
 +
}
 +
</php>
 +
應該就可以了!
 +
 +
原文請參考:[http://forum.lifetype.org.tw/index.php?topic=2717.from1155642997;topicseen#msg15371 這裡]。

當前修訂版本

目錄

下拉式Blog列表

有逛過 PowerOS 無限誌 的人,應該對他 Summary 的下拉式網誌列表感到印象深刻。感謝 LiP 提供。

  • 使用方法:
將以下語法放到適當位置即可。

  1. {literal}<script language="javascript" type="text/javascript">
  2. function MM_jumpMenu(targ,selObj,restore){
  3. eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  4. if (restore) selObj.selectedIndex=0;
  5. }</script>{/literal}
  6.  
  7. <form name="blog" style="margin:2px;">
  8. <select name="menu_menu" onChange="MM_jumpMenu('parent',this,0)">
  9. <option value="\" select>{$locale->tr("blog")}列表</option>
  10. <option value="\">---------------------</option>
  11. <option value="?op=BlogList"> >>> 前往{$locale->tr("blog")}列表</option>
  12. <option value="\">---------------------</option>
  13. {foreach from=$blogs item=blog}
  14. {assign">assign">assign var="blogId" value=$blog->getId()}
  15. <option value="{$url->blogLink($blogs[$blogId])}"> [{$blog->getId()}] {$blog->getBlog()}....({$blog->getViewedTotal()}人閱覽)</option>
  16. </select>
  17. </form>
  18.  
  19. P.S. 其中10~13行可自行修改需要的文字或拿掉。

原文發表在 Lifetype中文發展論壇

不在 summary 顯示「恭喜!」的小技巧

如果你用LifeType來架社群,那麼當開始有人註冊的時候,最新文章的地方老是會顯示出「恭喜!」這篇預設的文章,當然如果你改過語言檔的話,也許是別的標題,總而言之,如果同一天註冊的人多了,總是覺得很礙眼,因此很久以前在論壇上就看到有人問說怎樣可以不產生這篇文章之類的問題,例如下面的文章:

http://forum.lifetype.org.tw/index.php?topic=825.0

只是不生成這篇文章,會造成網誌一篇文章都沒有的錯誤;且保留這篇文章,你可以在這篇文章中寫上一些歡迎詞和使用規範等等,其實還滿有用的。因此,你可以修改核心程式,讓summary在顯示最新文章時過濾掉這個預設的文章。

不過,這有點大費周章,對於LifeType架構不熟悉的人,你要他改,他也不想改,因此這邊就用改模版的方法,兩行程式碼就將這件事情完成。

怎麼做,其實簡單的很,就是給一個判斷式 if ,去決定最新文章要不要顯示;白話文的邏輯就是

如果 標題不是 「恭喜!」那就顯示下面的東西。

實做如下:

1. 打開你的summary/post.template

2. 在

  1. {assign">assign">assign var="blog" value=$post->getBlogInfo()}
  2. {assign">assign">assign var="request" value=$blog->getBlogRequestGenerator()}

的下面插入

  1. {if $post->getTopic()!= $locale->tr( "register_default_article_topic" )}

3. 然後在檔案的最下面,再加上{/if},結束這個敘述,就完成了。

雖然是很暴力也沒啥技巧的方法,不過可以很快的達成你的目的「不顯示恭喜這篇文章」,我想需要的人就自行修改吧。

原文發表在 (模版教學) 不在 summary 顯示「恭喜!」的小技巧

不顯示新使用者的「恭喜!」文章

預設在新Blog出生時,會在自動發表一篇「恭喜!」。如果一次有很多使用者註冊,那就很煩了。因此 Resnick 寫了這篇教學。

  • 修改辦法:
1. 打開你的summary/post.template
2. 在

  1. {assign">assign">assign var="blog" value=$post->getBlogInfo()}
  2. {assign">assign">assign var="request" value=$blog->getBlogRequestGenerator()}
的下面插入

  1. {if $post->getTopic()!=$locale->tr("register_default_article_topic" )}
3. 然後在檔案的最下面,再加上 {/if},結束這個敘述,就完成了。

原文發表在 Resnick's small world

如何讓最新文章能顯示所有的文章,而不是只有一個 Blog 一篇文章呢

把class/summary/dao/summarystats.class.php裡的function getRecentArticles 裡面的

  1. while( ($row = $result->FetchRow()) && ($i < $maxPosts) ) {
  2. if (!in_array($row["blog_id"], $blogs))
  3. {
  4. $blogs[] = $row["blog_id"];
  5. array_push( $posts, $this->articles->_fillArticleInformation($row) );
  6. $i++;
  7. }
  8. }

改成

  1. while( ($row = $result->FetchRow()) && ($i < $maxPosts) ) {
  2. // if (!in_array($row["blog_id"], $blogs))
  3. // {
  4. // $blogs[] = $row["blog_id"];
  5. array_push( $posts, $this->articles->_fillArticleInformation($row) );
  6. $i++;
  7. // }
  8. }

應該就可以了!

原文請參考:這裡