Movable Type 具備有內建的迴響系統功能。妳可以選擇特定的文章項目來編輯,然後找到編輯迴響的區域,於是也可以修改特定文章項目的迴響內容。迴響都會列在這邊,妳祇要在迴響作者的名字上點選,就可以在結果頁面中修改迴響內容。妳同時也可以先核選某些迴響的核選框,然後按下刪除所選
按鈕來刪除迴響。
跟 Movable Type 一起發行的預設模版中,就已經納入了迴響的功能了。也就是說,妳根本不需要另外再編輯迴響模版,就已經可以使用迴響功能。在這組預設的模版中,迴響會以彈出式視窗呈現(也就是在主索引模版中的鏈結),也會出現在單篇彙整頁面裡。妳可以藉由改變合適的模版來修改這個預設的作用方式。
Movable Type 的迴響系統可以有兩種運作方式(也可以同時併行):
<p><font class="title"><$MTEntryTitle$></font></p> <$MTEntryBody$> <MTComments> <$MTCommentBody$> <font class="post">由 <$MTCommentAuthorLink$> 所發表</font><br /><br /> </MTComments>
事實上預設的單篇彙整模版就包含了一樣的結構。
<MTComments> <$MTCommentBody$> <font class="post">由 <$MTCommentAuthorLink$> 所發表</font><br /><br /> </MTComments>
下列的 Javascript 會在彈出式視窗的鏈結中用到:
<script type="text/javascript"> function OpenComments (c) { window.open(c, 'comments', 'width=480,height=480,scrollbars=yes,status=yes'); } </script>
緊接著這個 Javascript 會在下列的網頁碼中被叫用:
<MTEntryIfAllowComments> <a href="<$MTCGIPath$><$MTCommentScript$>?entry_id=<$MTEntryID$>" onclick="OpenComments(this.href); return false">迴響 (<$MTEntryCommentCount$>)</a> </MTEntryIfAllowComments>
當然,在這種情境下,妳也會想要提供某份表格,讓讀者可以輸入新的迴響。這份表格看起來可能像是這樣:
<form method="post" action="<$MTCGIPath$><$MTCommentScript$>"> <input type="hidden" name="entry_id" value="<$MTEntryID$>"> 姓名: <input name="author"><p> E-mail 地址: <input name="email"><p> 網頁網址: <input name="url"><p> 迴響內容: <textarea name="text" rows="10" cols="50"></textarea><p> <input type="submit" name="preview" value="預覽"> <input type="submit" name="post" value="送出"> </form>
如果妳正在使用靜態/嵌入式迴響,請注意妳得按照下列的範例多增加一個隱藏的輸入欄位:
<input type="hidden" name="static" value="1">
這一列會告訴系統妳正在使用嵌入式迴響,所以需要強迫系統在某人發表了新的迴響之後,重建相關的彙整頁面和索引頁面。
同時請注意,不論是在哪一種情況 -- 嵌入式迴響或彈出式迴響 -- 下,妳的索引頁面都會在某個人發表了迴響後被重建,同時也會更新該則文章項目的迴響計數器(請參見模版標籤中的 MTEntryCommentCount
)。除此之外,如果妳正在使用嵌入式迴響的話,該則文章項目的彙整頁面也會被重建,好讓新的迴響可以增加到那份單篇彙整下方。
Movable Type 也內建了預覽迴響的功能,所以妳的讀者可以在發表迴響之前先行預覽。這個功能同樣地也提供在預設的模版之中;如果妳想要把這個功能拿掉的話,僅需要從迴響表格裡刪去預覽
按鈕即可。預覽迴響的板面安排則是由預覽迴響
模版所定義的,妳可以用 <$MTCommentPreview*$>
標籤附加上全域標籤屬性 encode_html
來做出可以編輯的預覽迴響表格;這麼一來,讀者不但可以預覽他們將發表的迴響,還可以再行編輯,最後纔真的送出。預設的模版當中就有這麼一個例子。
當妳要建立可編輯的預覽迴響模版時,妳都得在妳的預覽迴響
和發表迴響出錯
模版中加入這一個隱藏的輸入欄位:
<input type="hidden" name="static" value="<$MTCommentPreviewIsStatic$>">
這一個神奇的標籤會告訴系統讀者到底是從單篇彙編發表迴響的,還是從彈出式視窗。所以在迴響發表之後,使用者會被轉到正確的頁面去。
當然妳也可以再把其他對這一篇文章項目所發表的迴響也一起列出來,祇需要用標準的 <MTComments> 容器標籤就可以辦到:
之前的迴響: <MTComments> <$MTCommentBody$> 由 <$MTCommentAuthorLink$> 於 <$MTCommentDate$> 所發表 </MTComments>
如果在發表迴響的時候出了差錯 -- 像是說妳不允許匿名發表迴響,可是要發表迴響的讀者卻沒有提供名字或E-mail 地址等資訊的情況 -- 這個時候妳可以使用迴響出錯模版
來決定要讓讀者看到怎麼樣的錯誤訊息。妳也可以用這個模版來提供另一個表格,讓讀者得以把錯誤的地方更正,然後重新發表(或預覽)迴響。事實上預設的模版組合中,就有一個這樣的迴響出錯模版
( http://www.movabletype.org/default_templates.shtml ) 。