歡迎光臨, 訪客. 請先 登入註冊一個帳號.
十一月 22, 2024, 11:15:15 下午
19595 文章 在 3865 主題 由 4579 會員
最新註冊會員: aa123aa1
LifeType 中文開發論壇  |  開發  |  外掛程式  |  置頂公告外掛可以「加碼繁殖」嗎? « 上篇主題 下篇主題 »
頁: [1] 2
作者 主題: 置頂公告外掛可以「加碼繁殖」嗎?  (閱讀 48058 次)
oc
LifeType 中文發展團隊
一般會員
*****
文章: 115


檢視個人資料 個人網站
« 於: 六月 07, 2006, 11:14:39 下午 »

親愛的lss:

我用了你的置頂公告外掛,功能真是棒得沒話說,但是我有一點貪心,我還要更多,我希望有置頂,有公告,有FAQ,有自定區塊(像resnick的用法),有……,有可能嗎?我確實有打開你的原始碼瞧一瞧,不過實在看不出所以然,只好上來直接問。

另外,如果要把同站甲部落格的置頂文章顯示到乙部落格的模版上,可行嗎?
已記錄

lss
我不是被~拉~~出來的,不要叫我大大!
總版主
超級會員
*****
文章: 1511



檢視個人資料 個人網站
« 回覆文章 #1 於: 六月 08, 2006, 07:42:59 上午 »

親愛的老貓:
親愛的lss:

我用了你的置頂公告外掛,功能真是棒得沒話說,但是我有一點貪心,我還要更多,我希望有置頂,有公告,有FAQ,有自定區塊(像resnick的用法),有……,有可能嗎?我確實有打開你的原始碼瞧一瞧,不過實在看不出所以然,只好上來直接問。
這個彈性我在設計之初就想到了,你的要求在手動的方式下完全可以做到。  微笑

1.請先依你的需要建立「置頂、公告、faq、自訂區塊…」等文章分類。

2.在管理界面可以指定「置項、公告」兩個分類。而這兩個分類的文章可以用
程式碼:
$stickyposts->getArticles('sticky')
或是
$stickyposts->getArticles('announce')
來取得。

3.其他的文章分類,請先找出他們的 CategoryId ,例如 FAQ 的 CategoryId 是 21 ,則可以用下面的方法來取得 FAQ 的文章:
程式碼:
$stickyposts->getArticles( 21 )

4.若需要取得文章分類的物件供模版使用,同樣以 3 的 FAQ 為例,可以用:
程式碼:
$stickyposts->getCategory( 21 )
來取得。

這樣,應該很夠您應用了吧  微笑

另外,如果要把同站甲部落格的置頂文章顯示到乙部落格的模版上,可行嗎?
這部份光靠公告置頂外掛是做不到的  傷心 因為 plugin 的架構,只能提供自己 blog 的資源取用。

這要另外寫程式來做了。記得最近才有人在論壇跟 mark 問過,一下子找不到  吐舌頭

lss
已記錄

沒找過 常見問題集或不知道 如何在 LifeType 中文開發論壇發問的人,恕不回答問題
lss
我不是被~拉~~出來的,不要叫我大大!
總版主
超級會員
*****
文章: 1511



檢視個人資料 個人網站
« 回覆文章 #2 於: 六月 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="{$url->templatePage("archives")$url->postPermalink($FAQpost)}">{$FAQpost->getTopic()}</a></li>
{/foreach}
</ul>
{* end of FAQ block *}

{* other block here *}
{/if}
{/if}

你應該是不需要這個範例啦,不過可以給需要的人參考看看  微笑

lss
« 最後編輯時間: 六月 08, 2006, 06:53:46 下午 由 lss » 已記錄

沒找過 常見問題集或不知道 如何在 LifeType 中文開發論壇發問的人,恕不回答問題
oc
LifeType 中文發展團隊
一般會員
*****
文章: 115


檢視個人資料 個人網站
« 回覆文章 #3 於: 六月 08, 2006, 03:51:52 下午 »

lss,感謝感謝,不過你可太瞧得起我啦,要不是你補了一個實際的模版程式碼,不然我可傷腦筋了。我在自己的模版寫法如下(基本上只有CSS參數略有不同):

程式碼:
{if ($stickyposts)}
{if ($stickyposts->isEnabled())}
{assign var=FAQCat value=$stickyposts->getCategory(6)}
{assign var=FAQPosts value=$stickyposts->getArticles(6)}
<div  class="Sidetitle">{$FAQCat->getName()}</div>
<p class="list">
{foreach from=$FAQPosts item=FAQpost}
<a href="{$url->postPermalink($FAQpost)}">
{$FAQpost->getTopic()}</a></p><p class="list">
{/foreach}</p>
{/if}
{/if}

唯一的差別是第八行:

$url->postPermalink($FAQpost)

前面你的寫法應該是漏了FAQ三個字母。補上以後就成功了。

順便回報一個小bug。在後台「置頂及公告文章設定」那裡,「顯示公告文章數目」的值,無法變更,只能維持預設的五篇(但「顯示置頂文章數目」倒是可以更改)。

最後 吐舌頭,這個新增的FAQ區塊,他的顯示文章數目會如何?跟著置頂篇數的數字走嗎?……寫到這裡,乾脆直接測試。結果是FAQ寫了多少篇就會顯示多少篇,沒有限度。這個倒還好,反正不會寫太多FAQ。 眨眼睛
已記錄

lss
我不是被~拉~~出來的,不要叫我大大!
總版主
超級會員
*****
文章: 1511



檢視個人資料 個人網站
« 回覆文章 #4 於: 六月 08, 2006, 06:56:18 下午 »

...
唯一的差別是第八行:

$url->postPermalink($FAQpost)

前面你的寫法應該是漏了FAQ三個字母。補上以後就成功了。
微笑 筆誤、筆誤,複製貼上後,沒仔細檢查  吐舌頭

順便回報一個小bug。在後台「置頂及公告文章設定」那裡,「顯示公告文章數目」的值,無法變更,只能維持預設的五篇(但「顯示置頂文章數目」倒是可以更改)。

最後 吐舌頭,這個新增的FAQ區塊,他的顯示文章數目會如何?跟著置頂篇數的數字走嗎?……寫到這裡,乾脆直接測試。結果是FAQ寫了多少篇就會顯示多少篇,沒有限度。這個倒還好,反正不會寫太多FAQ。 眨眼睛
這個 plugin 已經寫了好久了,我再看一下,謝謝啦!  微笑

lss
已記錄

沒找過 常見問題集或不知道 如何在 LifeType 中文開發論壇發問的人,恕不回答問題
lss
我不是被~拉~~出來的,不要叫我大大!
總版主
超級會員
*****
文章: 1511



檢視個人資料 個人網站
« 回覆文章 #5 於: 六月 08, 2006, 07:19:50 下午 »

親愛的老貓:

關於使用 CategoryId 自訂置頂文章時,會顯示出全部文章的部份。沒錯,當初寫外掛時,就是這樣設計的  微笑

如果要改成外掛裡的設定值的話,你可以修改 pluginstickyposts.class.php 裡面,第 70 行改成如下:
程式碼:
$maxpost = $this->maxAnnounces;
就可以了。

對於這方面的設定,有什麼建議可以比較貼近使用者的感覺嗎?  微笑

lss
已記錄

沒找過 常見問題集或不知道 如何在 LifeType 中文開發論壇發問的人,恕不回答問題
oc
LifeType 中文發展團隊
一般會員
*****
文章: 115


檢視個人資料 個人網站
« 回覆文章 #6 於: 六月 09, 2006, 04:59:50 上午 »

沒錯,當初寫外掛時,就是這樣設計的  微笑
了解。
對於這方面的設定,有什麼建議可以比較貼近使用者的感覺嗎?  微笑
這個我倒覺得還好,因為這比較是架站者的功能,純部落格作者應該是不用煩惱這個。個人感覺。

已記錄

markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #7 於: 六月 09, 2006, 10:41:24 上午 »

HI 老貓:

你把 pluginstickyposts.class.php  中的 61-79 行修改成這樣:

        function getArticles$catId$maxPostNo )
        {
	
	
	
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$catIdPOST_STATUS_PUBLISHED );
	
	
	

	
	
	
return 
$ret_articles;
        }

那麼,你就可以用 getArticles('6', '10'); 來控制,如何?這代表第六個分類, 10 篇文章。 微笑

Mark
已記錄

lss
我不是被~拉~~出來的,不要叫我大大!
總版主
超級會員
*****
文章: 1511



檢視個人資料 個人網站
« 回覆文章 #8 於: 六月 09, 2006, 01:12:44 下午 »

那麼,你就可以用 getArticles('6', '10'); 來控制,如何?這代表第六個分類, 10 篇文章。 微笑
必需使用 getArticle(6,10) 才行,我記得使用字串型態會出事。
  害羞
lss
« 最後編輯時間: 六月 09, 2006, 01:34:26 下午 由 lss » 已記錄

沒找過 常見問題集或不知道 如何在 LifeType 中文開發論壇發問的人,恕不回答問題
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #9 於: 六月 09, 2006, 01:23:55 下午 »

ㄟ 我記得是不用字串型態才會出事耶!

Smarty  好像是超過兩個參數(含兩個參數),就必須用字串型態。

你可以試試看嗎?

Mark
已記錄

lss
我不是被~拉~~出來的,不要叫我大大!
總版主
超級會員
*****
文章: 1511



檢視個人資料 個人網站
« 回覆文章 #10 於: 六月 09, 2006, 01:35:08 下午 »

ㄟ 我記得是不用字串型態才會出事耶!

Smarty  好像是超過兩個參數(含兩個參數),就必須用字串型態。

你可以試試看嗎?

Mark
你是右邊  害羞

lss
已記錄

沒找過 常見問題集或不知道 如何在 LifeType 中文開發論壇發問的人,恕不回答問題
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #11 於: 六月 09, 2006, 01:38:19 下午 »

你是右邊  害羞

這是什麼意思?新的火星文嗎?  害羞

Mark
已記錄

lss
我不是被~拉~~出來的,不要叫我大大!
總版主
超級會員
*****
文章: 1511



檢視個人資料 個人網站
« 回覆文章 #12 於: 六月 09, 2006, 01:40:24 下午 »

you are right.

 開懷大笑

lss
已記錄

沒找過 常見問題集或不知道 如何在 LifeType 中文開發論壇發問的人,恕不回答問題
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #13 於: 六月 09, 2006, 02:07:57 下午 »

哈哈!學到一招! 開懷大笑

Mark
已記錄

oc
LifeType 中文發展團隊
一般會員
*****
文章: 115


檢視個人資料 個人網站
« 回覆文章 #14 於: 六月 09, 2006, 06:14:10 下午 »

哈哈,我昨天才在想,不知能不能像「最近迴響」外掛那樣,
直接在模版碼中,就可以修改顯示篇數。

原來這些都是Mark的祕技啊。
已記錄

頁: [1] 2
LifeType 中文開發論壇  |  開發  |  外掛程式  |  置頂公告外掛可以「加碼繁殖」嗎? « 上篇主題 下篇主題 »
    前往: