主題: 置頂公告外掛可以「加碼繁殖」嗎? 作者: oc 於 六月 07, 2006, 11:14:39 下午 親愛的lss:
我用了你的置頂公告外掛,功能真是棒得沒話說,但是我有一點貪心,我還要更多,我希望有置頂,有公告,有FAQ,有自定區塊(像resnick的用法 (http://forum.lifetype.org.tw/index.php?topic=2212.0)),有……,有可能嗎?我確實有打開你的原始碼瞧一瞧,不過實在看不出所以然,只好上來直接問。 另外,如果要把同站甲部落格的置頂文章顯示到乙部落格的模版上,可行嗎? 主題: Re: 置頂公告外掛可以「加碼繁殖」嗎? 作者: lss 於 六月 08, 2006, 07:42:59 上午 親愛的老貓:
親愛的lss: 這個彈性我在設計之初就想到了,你的要求在手動的方式下完全可以做到。 :-)我用了你的置頂公告外掛,功能真是棒得沒話說,但是我有一點貪心,我還要更多,我希望有置頂,有公告,有FAQ,有自定區塊(像resnick的用法 (http://forum.lifetype.org.tw/index.php?topic=2212.0)),有……,有可能嗎?我確實有打開你的原始碼瞧一瞧,不過實在看不出所以然,只好上來直接問。 1.請先依你的需要建立「置頂、公告、faq、自訂區塊…」等文章分類。 2.在管理界面可以指定「置項、公告」兩個分類。而這兩個分類的文章可以用 程式碼: $stickyposts->getArticles('sticky') 3.其他的文章分類,請先找出他們的 CategoryId ,例如 FAQ 的 CategoryId 是 21 ,則可以用下面的方法來取得 FAQ 的文章: 程式碼: $stickyposts->getArticles( 21 ) 4.若需要取得文章分類的物件供模版使用,同樣以 3 的 FAQ 為例,可以用: 程式碼: $stickyposts->getCategory( 21 ) 這樣,應該很夠您應用了吧 :-) 另外,如果要把同站甲部落格的置頂文章顯示到乙部落格的模版上,可行嗎? 這部份光靠公告置頂外掛是做不到的 :-( 因為 plugin 的架構,只能提供自己 blog 的資源取用。這要另外寫程式來做了。記得最近才有人在論壇跟 mark 問過,一下子找不到 :-P lss 主題: Re: 置頂公告外掛可以「加碼繁殖」嗎? 作者: lss 於 六月 08, 2006, 09:49:43 上午 親愛的老貓:
以我 blog 裡的網管實驗室分類(CategoryId=9) 為例,我寫了個範例如下(當然,是配合目前使用的 green_community 模版) 引用 {if ($stickyposts)} {if ($stickyposts->isEnabled())} {* begin of FAQ block*} {assign var=FAQCat value=$stickyposts->getCategory(9)} {assign var=FAQPosts value=$stickyposts->getArticles(9)} <h5>{$FAQCat->getName()}</h5> <ul class="nav"> {foreach from=$FAQPosts item=FAQpost} <li><a title="{$FAQpost->getIntroText()|strip_tags|truncate:100:"..."}" href="{ {/foreach} </ul> {* end of FAQ block *} {* other block here *} {/if} {/if} 你應該是不需要這個範例啦,不過可以給需要的人參考看看 :-) lss 主題: Re: 置頂公告外掛可以「加碼繁殖」嗎? 作者: oc 於 六月 08, 2006, 03:51:52 下午 lss,感謝感謝,不過你可太瞧得起我啦,要不是你補了一個實際的模版程式碼,不然我可傷腦筋了。我在自己的模版寫法如下(基本上只有CSS參數略有不同):
程式碼: {if ($stickyposts)} 唯一的差別是第八行: $url->postPermalink($FAQpost) 前面你的寫法應該是漏了FAQ三個字母。補上以後就成功了。 順便回報一個小bug。在後台「置頂及公告文章設定」那裡,「顯示公告文章數目」的值,無法變更,只能維持預設的五篇(但「顯示置頂文章數目」倒是可以更改)。 最後 :-P,這個新增的FAQ區塊,他的顯示文章數目會如何?跟著置頂篇數的數字走嗎?……寫到這裡,乾脆直接測試。結果是FAQ寫了多少篇就會顯示多少篇,沒有限度。這個倒還好,反正不會寫太多FAQ。 ;-) 主題: Re: 置頂公告外掛可以「加碼繁殖」嗎? 作者: lss 於 六月 08, 2006, 06:56:18 下午 ... :-) 筆誤、筆誤,複製貼上後,沒仔細檢查 :-P唯一的差別是第八行: $url->postPermalink($FAQpost) 前面你的寫法應該是漏了FAQ三個字母。補上以後就成功了。 順便回報一個小bug。在後台「置頂及公告文章設定」那裡,「顯示公告文章數目」的值,無法變更,只能維持預設的五篇(但「顯示置頂文章數目」倒是可以更改)。 這個 plugin 已經寫了好久了,我再看一下,謝謝啦! :-)最後 :-P,這個新增的FAQ區塊,他的顯示文章數目會如何?跟著置頂篇數的數字走嗎?……寫到這裡,乾脆直接測試。結果是FAQ寫了多少篇就會顯示多少篇,沒有限度。這個倒還好,反正不會寫太多FAQ。 ;-) lss 主題: Re: 置頂公告外掛可以「加碼繁殖」嗎? 作者: lss 於 六月 08, 2006, 07:19:50 下午 親愛的老貓:
關於使用 CategoryId 自訂置頂文章時,會顯示出全部文章的部份。沒錯,當初寫外掛時,就是這樣設計的 :-) 如果要改成外掛裡的設定值的話,你可以修改 pluginstickyposts.class.php 裡面,第 70 行改成如下: 程式碼: $maxpost = $this->maxAnnounces; 對於這方面的設定,有什麼建議可以比較貼近使用者的感覺嗎? :-) lss 主題: Re: 置頂公告外掛可以「加碼繁殖」嗎? 作者: oc 於 六月 09, 2006, 04:59:50 上午 沒錯,當初寫外掛時,就是這樣設計的 :-) 了解。對於這方面的設定,有什麼建議可以比較貼近使用者的感覺嗎? :-) 這個我倒覺得還好,因為這比較是架站者的功能,純部落格作者應該是不用煩惱這個。個人感覺。主題: Re: 置頂公告外掛可以「加碼繁殖」嗎? 作者: markwu 於 六月 09, 2006, 10:41:24 上午 HI 老貓:
你把 pluginstickyposts.class.php 中的 61-79 行修改成這樣: function getArticles( $catId, $maxPostNo = 5 ) { if ( 'sticky' == $catId ){ $catId = $this->stickyCategoryId; $maxpost = $this->maxStickys; } else if ( 'announce' == $catId ){ $catId = $this->announceCategoryId; $maxpost = $this->maxAnnounces; } else if ( is_numeric( $catId ) ){ $maxpost = $maxPostNo; }else return null; $blogId = $this->blogInfo->getId(); $articles = new Articles(); $ret_articles = $articles->getBlogArticles( $blogId, -1, $maxpost, $catId, POST_STATUS_PUBLISHED ); return $ret_articles; } 那麼,你就可以用 getArticles('6', '10'); 來控制,如何?這代表第六個分類, 10 篇文章。 :-) Mark 主題: Re: 置頂公告外掛可以「加碼繁殖」嗎? 作者: lss 於 六月 09, 2006, 01:12:44 下午 那麼,你就可以用 getArticles('6', '10'); 來控制,如何?這代表第六個分類, 10 篇文章。 :-) lss 主題: Re: 置頂公告外掛可以「加碼繁殖」嗎? 作者: markwu 於 六月 09, 2006, 01:23:55 下午 ㄟ 我記得是不用字串型態才會出事耶!
Smarty 好像是超過兩個參數(含兩個參數),就必須用字串型態。 你可以試試看嗎? Mark 主題: Re: 置頂公告外掛可以「加碼繁殖」嗎? 作者: lss 於 六月 09, 2006, 01:35:08 下午 ㄟ 我記得是不用字串型態才會出事耶! 你是右邊 :-$Smarty 好像是超過兩個參數(含兩個參數),就必須用字串型態。 你可以試試看嗎? Mark lss 主題: Re: 置頂公告外掛可以「加碼繁殖」嗎? 作者: markwu 於 六月 09, 2006, 01:38:19 下午 主題: Re: 置頂公告外掛可以「加碼繁殖」嗎? 作者: lss 於 六月 09, 2006, 01:40:24 下午 you are right.
:-D lss 主題: Re: 置頂公告外掛可以「加碼繁殖」嗎? 作者: markwu 於 六月 09, 2006, 02:07:57 下午 哈哈!學到一招! :-D
Mark 主題: Re: 置頂公告外掛可以「加碼繁殖」嗎? 作者: oc 於 六月 09, 2006, 06:14:10 下午 哈哈,我昨天才在想,不知能不能像「最近迴響」外掛那樣,
直接在模版碼中,就可以修改顯示篇數。 原來這些都是Mark的祕技啊。 主題: Re: 置頂公告外掛可以「加碼繁殖」嗎? 作者: lisamaus 於 六月 27, 2006, 10:15:39 上午 我是個新手, 在這方面有點問題想請教
因為在外掛configuration的後台, 怎麼樣也只有置頂和公告可以設定. 不管我設成哪個分類, 最多同時我都只能顯示兩個element. 不知道有沒有可能做出後台的後台來設定有幾個區塊可以設定, 而成為真正的自定區塊. 我想可能性不是沒有, 只是整個plugin的架構可能都要變動了. 當我隨便說說就好! :-$ 主題: Re: 置頂公告外掛可以「加碼繁殖」嗎? 作者: lss 於 六月 27, 2006, 11:44:12 上午 hi lisamaus:
你要的功能有,但是不是在管理界面處理。置頂外掛只能在後台設定「置頂」和「公告」兩個分類,這是寫死的。但是你可以直接在模版裡面使用文章分類Id來替代 'sticky' 和 'announce' 就可以自訂任意多個區塊了。 你把這個討論串再仔細看一遍,老貓想要的跟你一模一樣。 當然,能夠全部在管理界面搞定,那是最好的,你可以自己試試改看看囉 :-P lss 主題: Re: 置頂公告外掛可以「加碼繁殖」嗎? 作者: lisamaus 於 六月 28, 2006, 04:05:16 下午 謝謝lss, 我會在仔細爬文. 前天看這篇的時候已經是我這裡凌晨五六點, 有點頭昏眼花了!!
主題: 置頂公告外掛小bug修正 作者: resnick 於 七月 05, 2006, 05:00:10 下午 順便回報一個小bug。在後台「置頂及公告文章設定」那裡,「顯示公告文章數目」的值,無法變更,只能維持預設的五篇(但「顯示置頂文章數目」倒是可以更改)。 這個問題我剛剛查了一下,修正好了。 請打開 pluginstickypostsconfigview.class 引用 $maxAnnounces = $blogSettings->getValue( "plugin_stickyposts_maxAnnounces" ); if ($maxStickys == "") $maxStickys = 5; if ($maxAnnounce == "") $maxAnnounces = 5; 修正紅色的部分如下: 引用 $maxAnnounces = $blogSettings->getValue( "plugin_stickyposts_maxannounces" ); if ($maxStickys == "") $maxStickys = 5; if ($maxAnnounces == "") $maxAnnounces = 5; 來回看了程式碼很多次,想不通值怎麼都傳不到,最後一個一個check大小寫,才發現是這個小問題。一開始也沒注意到少了「s」,漏掉那個「s」,就肯定會把數字一直維持在5了。 主題: Re: 置頂公告外掛可以「加碼繁殖」嗎? 作者: lss 於 七月 06, 2006, 08:36:42 下午 :-$
竟然............. orz 謝謝 resnick lss 主題: Re: 置頂公告外掛可以「加碼繁殖」嗎? 作者: lisamaus 於 七月 07, 2006, 01:51:10 上午 我剛才把variable name更正過來, 但是還是沒有解決這個問題 :-(
我想我不太了解plugin後面cache的問題 我已經把外掛拿掉, 重新裝過. 而且之前還把tmp裡的內容清乾淨了. 為什麼當我重新安裝外掛的時候, 上面還是原先的值? 請問我哪裡沒有注意到? 麻煩指點迷津, 謝謝!! 主題: Re: 置頂公告外掛可以「加碼繁殖」嗎? 作者: markwu 於 七月 08, 2006, 12:45:54 上午 修改後,你在到設定畫面上改一次設定值,然後按更新,這時候新的值才會被更新。 :-)
Mark 主題: Re: 置頂公告外掛可以「加碼繁殖」嗎? 作者: lisamaus 於 七月 08, 2006, 01:12:32 上午 修改後,你在到設定畫面上改一次設定值,然後按更新,這時候新的值才會被更新。 :-) Mark 就是因為改過設定值, 而且按過更新, 沒反應才試試看重新安裝plugin的. 結果沒想到, 重新安裝過後, 出現的畫面上面已經打了勾勾說我啟動了plugin, 而且原本上面其中(應該是置頂的)可以改動也被我改動的那個值, 並沒有變成初始值, 而是保持在我改動後的那個值. 所以又重新安裝了一次plugin並且把tmp裡的內容清光. 結果不變. 因此在想, 是不是我哪裡沒考慮到. Mark! 謝謝你的不厭其煩. 因為我自己都覺得我自己挺煩人的 主題: Re: 置頂公告外掛可以「加碼繁殖」嗎? 作者: lss 於 七月 08, 2006, 10:35:47 上午 就是因為改過設定值, 而且按過更新, 沒反應才試試看重新安裝plugin的. plugin 所儲存的設定值是存在資料庫裡的,即使你把 plugin 移除掉,那些設定值仍然還在資料庫裡,所以,你再裝一次 plugin 時,plugin 會去找到你之前的設定值。這是正常現象。結果沒想到, 重新安裝過後, 出現的畫面上面已經打了勾勾說我啟動了plugin, 而且原本上面其中(應該是置頂的)可以改動也被我改動的那個值, 並沒有變成初始值, 而是保持在我改動後的那個值. 所以又重新安裝了一次plugin並且把tmp裡的內容清光. 結果不變. 因此在想, 是不是我哪裡沒考慮到. Mark! 謝謝你的不厭其煩. 因為我自己都覺得我自己挺煩人的 lss 主題: Re: 置頂公告外掛可以「加碼繁殖」嗎? 作者: lisamaus 於 七月 20, 2006, 05:31:38 下午 在有空餘時間下, 又把我之前沒解決的max問題看了一遍, 原來是我眼睛脫窗. 人家應該要改兩個地方, 我自動忽略右上方的紅字, 當然還是有問題.
我現在時沒事加無聊的回報了一下自己的白痴, 不要理我 |