2005年11月9日 星期三

在摘要頁面顯示的公告 Part 1

從宗欣兄學校 blog 華龍部落格的摘要頁面看到了最新消息區塊,每條最新消息的連結是連到華龍國小LifeType學習網誌,一時為之驚豔,原來可以這樣做。大家便在論壇討論起各種做法。

宗欣兄的做法是直接在 summary 模版的 recent.template 裡加入文章標題和連結。心想,如果能夠在網站管理員的 blog 站寫文章,而且直接在摘要頁面顯示標題和連結,那麼就太美妙了。於是動腦筋寫了一個蠻粗糙的解決方案。這只能解饞,不能止飢,一但公告太多,摘要頁面會被這些滿出來的最新消息塞爆。套句伙伴 huihui 的說法,那就像「馬桶滿出來」一樣。

於是,開始構思完整的解決方案。

想法:

  • 寫最新消息的文章:
    1. 網站管理員在自己的 blog 建立一個文章分類「最新消息」。
    2. 將要公告在摘要頁面的文章加入最新消息分類。
  • 摘要頁面顯示最新消息:
    1. 在 class/summary/action/summarydefaultaction.class.php 加入程式讀取網站管理員 blog 的最新消息分類的文章。
    2. 增加最新消息的樣版碼至 tempaltes/summary/index.template 。
    3. 最新消息的條目要有限制,要看完整的列表,則連結至管理員的網誌最新消息分類頁面。這可以直接取用 summary_page_show_max 設定值。

其中,想在 summarydefaultaction 裡面取得最新消息文章的話,必需先取得網站管理員的 blog ID 和最新消息的文章分類 ID 。

  • 取得網站管理員 blog ID :
    • 一般而言,網站管理員都會把自己的 blog 設成整個站的預設 blog ,所以,可以由全域設定取得 default_blog_id 即可。
  • 取得最新消息的文章分類 ID :
    • 在摘要設定裡面新增一項 summary_announce_category_id ,讓網站管理員將最新消息文章分類的 ID 填入即可。
  • 如果沒有任何設定的話,預設用 blogId = 1 和 categoryId = 1 ,也就是全站第一個 blog 的第一個文章分類。

至此,構想大致完成。接下來就是準備動工開刀修改 summarydefaultaction 了。

待續…

沒有留言:

張貼留言