主題: 有關共同作者在同一個blog發表文章的想法 作者: smallmac 於 十一月 11, 2005, 05:31:21 下午 Dear all :
我搜尋了很久似乎沒有人提到我想問的問題,所以我想就貼個文章問問看。 最近我想跟朋友一起合寫一個blog,剛好plog可以支援共同作者,我也是用plog系統,所以可以很輕易的做這件事。 我突然想到,要判斷文章是誰寫的,通常只能從「post by xxx」來看, 在視覺上總是有點不易分辨,因為文章都一塊一塊的, 然後「 post by xxx 」都小小的,不太起眼,放大又很醜(我是視覺派的)。 有沒有可能可以做到:依照發表者,而有不同的顯示方式。 比如說,如果是我 post ,我的那篇文章的區塊背景就顯示紅色,如果是我朋友 post ,他的就顯示黃色。 我死命的在討論區搜尋,唯一找到一個可能可以這樣做的 plugin 是 mark 先生在某篇回文提到的「authentication plugin」 (http://forum.lifetype.org.tw/index.php?topic=149.msg807#msg807)。 我 download 下來看,嗚,看不懂要怎麼使用,如果直接上傳到 plog\ plugins,然後到管理介面的外掛中心去看,沒反應。 我隨便亂想,如果用這種語法: 程式碼: {if $auth->posterLoggedIn( $poster )} 然後 {if} {/if} 中間告訴plog,他的文章就用背景是紅色的css,有可能做到嗎? 好像有點異想天開喔? :-$ 主題: Re: 有關共同作者在同一個blog發表文章的想法 作者: lss 於 十一月 11, 2005, 08:46:33 下午 我覺得好像很容易做到啊!
以 bluish 模版為例子好了,他的 post.template 是一篇文章的模版檔如下: 引用 {assign var="postDate" value=$post->getDateObject()} 我的想法是,紅色部份可以改成如下:{assign var="postOwner" value=$post->getUserInfo()} <div class="blog"> <h2 class="date">{$locale->formatDate($postDate,"%j %B, %Y")}</h2> <div class="blogbody"> <h2 class="title">{$post->getTopic()}</h2> <div class="posted">{$locale->tr("posted_by")} {$postOwner->getUsername()} {$locale->formatDate($postDate,"%H:%M")} | <img alt="Permalink" src="{$url->getTemplateFile("post.gif")}" width="10" height="11" style="border: 0px" /> ....以下省略.... 以 bluish 模版為例子好了,他的 post.template 是一篇文章的模版檔如下: 引用 {assign var="postDate" value=$post->getDateObject()} 然後,替每個作者設定一個 blog_{Username} 的 css class ,例如設定不同的背景色,應該就可以達成你要的目標了。{assign var="postOwner" value=$post->getUserInfo()} <div class="blog_{$postOwner->getUsername()}"> <h2 class="date">{$locale->formatDate($postDate,"%j %B, %Y")}</h2> <div class="blogbody"> <h2 class="title">{$post->getTopic()}</h2> <div class="posted">{$locale->tr("posted_by")} {$postOwner->getUsername()} {$locale->formatDate($postDate,"%H:%M")} | <img alt="Permalink" src="{$url->getTemplateFile("post.gif")}" width="10" height="11" style="border: 0px" /> ....以下省略.... 以上是在我的想像中覺得應該是可行的,你可以試試看。如果確實可行,記得回來貼個連結,展示一下成果哦。 ;-) 最好是連模版及 css 一起分享啦! :-) :-) :-) 主題: Re: 有關共同作者在同一個blog發表文章的想法 作者: smallmac 於 十一月 13, 2005, 11:08:22 下午 lss先生,你的提議成功了!
說真的我也不是程式出身的,只是平時偶而會玩一點而已,所以我一直都沒想到可以這樣做,看了你的程式碼的瞬間我就恍然大悟了。 blog在此 (http://www.smallmac.biz/plog/index.php?blogId=3)。 我自己的blog:floodgate no.6,當初是拿grey改,而這次的就拿 floodgate no.6 來改,總而言之都是 grey 來的。 post.template如下: 引用 <!-- {$url->postTrackbackLink($post)} --> {assign var="postDate" value=$post->getDateObject()} {assign var="postOwner" value=$post->getUserInfo()} <div id="{$postOwner->getUsername()}"> <h3>{$post->getTopic()}</h3> <span class="date">{$locale->formatDate($postDate,"%Y %B %d")}</span> {if $currentTemplateFile != "postandcomments" } <div class="smallfont"> <p> {$post->getText()} </p> </div> {else} <div class="largefont"> <p> {$post->getText()} </p> </div> {/if} <div class="footer">Post by {$postOwner->getUsername()} @ {$locale->formatDate($postDate,"%H:%M")} ⁄ {foreach name=categories from=$post->getCategories() item=postcategory} <a href="{$url->categoryLink($postcategory)}">{$postcategory->getName()}</a> {if !$smarty.foreach.categories.last}, {/if} {/foreach} :: <a href="{$url->postPermalink($post)}">{$locale->tr("comment on this")} ({$post->getTotalComments()})</a> :: <a title="{$locale->tr("permalink_title")}" href="{$url->postPermalink($post)}">{$locale->tr("permalink")}</a> :: <a href="{$url->postTrackbackStatsLink($post)}">{$locale->tr("trackbacks")} ({$post->getNumTrackbacks()})</a> </div> </div> 然後去css裡面設兩個user的文章css,包括標題、內文、資訊、首頁與內頁的文字大小不同、首頁不縮排但內頁內文要。 差不多就是這樣囉! 謝謝lss先生,cool! 主題: Re: 有關共同作者在同一個blog發表文章的想法 作者: lss 於 十一月 13, 2005, 11:22:56 下午 恭喜囉!smallmac小姐,還是該稱你為 JC?!
anyway ,這個討論應該是屬於模板的討論範圍,我把他搬到模版討論板。又,這還真是個有趣又實用的應用,加入精華區了。 |