Attachments 說明文檔
版本 1.2 - 2008年2月20日
- 簡介
- 上傳限制
- 設定
- 自訂附件列表樣式
- 檔案類型圖示
- 警告
- 升級
- 致謝
簡介
Attachments 是一款針對 Joomla! 1.5 開發的擴展套件,它可以讓你上傳檔案并以附件形式附加到文章中。Attachments 擴展套件包括一個插件,用于在文章中顯示附件;一個元件,用于上傳及管理附件;一個按鈕插件,用于在文章編輯窗口添加一個“插入附件”的按鈕。設置選項包括誰能看到附件以及誰能上傳附件,還有一些其它選項來提升其靈活性及可用性。注意: 本擴展套件只能工作在 Joomla! 1.5 及更高版本。
【回到頁頂】
上傳限制
并非任何類型的檔案都可以作為附件來上傳。Attachments 不會允許上傳 Joomla! 的媒體管理器禁止上傳的檔案。要想知道(或者更改)哪些檔案被允許上傳,請進入 全局設置 頁面,點擊 系統 標簽。在 媒體設定 部分,那里有關于允許上傳哪些檔案類型及媒體類型的選項。Attachments 元件完全遵守這些限制。不過,“允許的圖片類型(檔案類型)”部分的設定不予參考。
【回到頁頂】
附件設定
Attachments 元件的所有設定都是通過其插件的參數頁面完成的。要更改這些設定,請登入后臺管理界面,點擊“擴展套件”菜單上的“插件管理”,找到名為“Content-Attachments”的項目并打開,您就可以在頁面右側看到一系列參數。這些參數包括:
- 誰能看到附件: 本參數決定誰能看到附件連結,目前有兩個選項:
- ’任何人’ - 如果選擇此項,任何訪問網站的人都能看到附件連結,不管他們是否登入。
- ’任何已登入的會員’. - 如果選擇此項,只有登入到網站的注冊會員才能看到附件連結。
- 誰能添加附件: 本參數決定誰能給文章添加附件。有兩個選項:
- ’僅限文章作者’ - 只有文章作者才能看到“上傳附件”的連結。
- ’任何已登入的會員’ - 任何已登入的會員都能看到“上傳附件”的連結。
- 默認發布附件: 本參數決定是否默認在附件一被添加就立即發布。如果設為“是”,一旦添加了附件,就會被立即發布,會員就能看到它。如果設為“否”,新附件不會默認被發布。必須由管理員從后臺來審核、發布,這些附件才能在前臺顯示。
- 自動發布警告: 如果自動發布選項被禁用 (見上一個參數),您可能就希望能夠告訴上傳附件的人,如何才能發布他們的附件。您可以在此輸入一段通告文字。如果此字段沒有填寫,則會顯示一個預設的系統提示,告訴他們與網站管理員聯系以便發布他們剛剛上傳的附件。
- 顯示表頭標題: 如果設為“是”,將在附件檔案列表的頂部顯示一行表頭標題,說明每一列都是什么內容。
- 顯示附件檔案的描述: 本參數決定是否在附件列表中顯示附件的描述。
- 顯示附件檔案的大小: 本參數決定是否在附件列表中顯示附件的檔案大小。
- 顯示檔案修改日期: 如果設為“是”,文章的附件列表上會顯示附件檔案的修改日期。如果設為“否”,附件列表中不顯示日期。
- 修改日期的格式串:: 您可以使用 PHP 語言中 date 函數的格式串來自訂您的修改日期格式。此參數的默認值是 "M-j-Y g:ia"
其結果類似: "Sep-29-2007 5:05pm". 如果您只希望顯示日期,那么刪除 "g:ia" 這部分即可。
- 附件列表的 CSS 樣式: 如果要忽略默認的附件列表 CSS 樣式, 您可以在此指定您自己的樣式名稱。默認的樣式名稱是 'attachmentsList'。 更多資訊請參看 [自訂附件列表的樣式] 一節。
- 檔案連結打開模式:
這個參數決定了附件檔案連結的打開方式。 '在當前窗口' 就是指在當前瀏覽器窗口中打開檔案。 '在新窗口'指在新窗口中打開檔案。在某些瀏覽器,使用 '在新窗口' 模式實際上是在新的標簽頁中打開附件。
- 附加到檔名之前: 本參數決定當保存附件檔案到伺服器端時是否要在檔名之前附加一個數字前綴。共有3種選項:
- ’文章 ID’ - 如果選擇此項,檔名前面將附加該文章的 ID 號碼。此項可以減少檔名“撞車”(collisions)的機會,而且能確保在目錄列表上文章的附件檔案與文章排列在一起。請注意:此項可以允許將不同的檔案以相同的檔名附加給不同的文章,但不能附加給同一篇文章。
- ’附件 ID’ - 如果選擇此項,檔名前面將附加該附件的 ID 號碼。此項將消除檔名“撞車” 的可能性,因為每一個附件都有唯一的 ID 號碼。在目錄列表上,附件將按照次序排序。
- ’不附加’ - 如果選擇此項,檔名將以用戶所給名稱保存,不會附加任何前綴。此項增加了檔名“撞車”的機會,因為每一個上傳的附件都必須擁有唯一的檔名。
- 上傳到子目錄: Attachments 元件將把附件檔案存放在這個位于 Joomla 根目錄下的子目錄中。警告:如果此項被更改,您必須首先手動創建一個新的子目錄才能上傳附件。
注意:如果此子目錄改動,只影響后面上傳的檔案。以前上傳的檔案仍將保存在舊目錄中,同時附件資料庫中的記錄仍然指向那些檔案。
- 自訂附件列表的標題: 默認情況下,’Attachments’ 元件在某篇文章的附件列表上方(如果該文章有附件的話)顯示的標題是“附件:”。在某些情況下,您可能希望為某些特定文章使用其它某個詞語。您可以給每一篇文章指定具體的標題詞。例如:如果您希望 ID 號為 211 的文章使用自訂標題“下載”,您就可以在本參數中這樣填寫:
’211 下載’ (不要引號)。注意:每一行只能定義一個。
- 要隱藏附件的類別:
這些類別中的文章的附件列表將被隱藏。請以數字列表的方式輸入單元及類別 ID:
Section#/Category#, Section#/Category#. 如果只輸入 'Section#' ,則意味著包含該單元中的所有類別。 例如: 23/10, 23/11, 24.
- 安全附件下載: 默認情況下, ’Attachments’ 將附件檔案保存在一個任何人都能訪問的目錄中。如果您選擇了 “安全” 方式,則保存附件的目錄將被設為公眾可以訪問,網站前臺該附件的下載連結也可以下載檔案,但不是直接連結。這就限制了只有擁有適當權限的會員才能訪問該目錄。如果沒有選擇 安全 下載模式,附件的連結將按照上面的參數定義的那樣顯示,但是其他任何人只要知道這個連結 URL 就能直接訪問附件檔案,因為存放的子目錄已經是公開的了。 安全 下載模式防止了沒有適當權限的用戶訪問附件,即使他們知道完整的 URL 也不行。因為此模式阻止了公眾對附件存放目錄的訪問。
- “安全下載”的下載方式:
此項決定附件檔案是作為獨立檔案下載,還是直接在瀏覽器窗口中顯示(如果瀏覽器可以處理該種檔案類型的話)。有兩種方式:
- inline: 在此模式下,凡是可以在瀏覽器中顯示的檔案都將直接在瀏覽器中顯示出來(例如文本檔案及圖像)。
- attachment: 在此模式下,附件檔案總是被當作獨立檔案來下載。
在任何一種模式下,凡是無法在瀏覽器中顯示的檔案都同樣被視作外部檔案而下載。
【回到頁頂】
自訂附件列表的樣式
網站前臺的附件列表是通過特殊的含有表格的 ’div’ 來實現的。該表格擁有幾個不同的 CSS 類,以便給網站開發人員提供自訂表格外觀的靈活性。請打開插件的 CSS 檔案( plugins/content/attachments.css) 查看實例。如果您希望更改樣式,先復制原始的樣式代碼到該檔案的末尾,然后將新復制部分的 'attachmentsList' 名稱修改為您自己想要的名稱。然后在本元件的參數(元件 - 文章附件)中, 將 附件表格樣式 一項填寫為新修改的名稱。接下來在您復制的代碼部分修改 CSS 類定義,以適應您的需要。這個方法可以讓您在需要時迅速還原到初始的樣式,只需要將元件參數中的 附件表格樣式 名稱改回默認的“attachmentList”即可。此法還有一個優勢就是,已修改的樣式代碼部分可以被復制到某個檔案中保存下來,然后在 Attachments 元件升級之后輕松地復原回去。這個操作也可以通過 CSS @import 命令來完成。
【回到頁頂】
檔案類型圖示
'Attachments' 元件在附件列表上的每一個附件前面都會顯示一個圖示。如果您想要增加一種新的圖示類型,這樣操作:
(1) 上傳圖示檔案到 'media/attachments/icons' 目錄(如果你沒有在該目錄中找到合適的圖示檔案的話); (2) 修改 'components/com_attachments/file_types.php' 這個檔案,在靜態序列 $attachments_icon_from_file_extension 中添加一行代碼,該序列是檔案擴展名與圖示名稱(都在 media/attachments/icons 目錄中)的映射關系。如果還不能生效,您或許還需要在序列 $attachments_icon_from_mime_type 中添加一行代碼。(3) 以后升級 Attachments 元件時,一定要首先復制該圖示檔案及修改過的 file_types.php 檔案到網站之外的某個目錄中。
【回到頁頂】
警告
- 如果您的附件是敏感檔案或機密檔案,請使用 附件安全下載 模式!
如果您不使用安全模式,附件檔案將被保存在公眾可訪問的目錄中,任何人只要知道完整 URL 就能下載。 安全 模式防止了沒有適當權限(由上面的參數決定)的用戶訪問附件,請參看上面關于 附件安全下載 的討論獲取更多資訊。
- 每當上傳一個檔案時,都會檢查上傳目錄是否存在,如果不存在則自動創建。如果 ’Attachments’ 元件無法創建上傳目錄,您就必須自己創建一個(否則您就無法上傳檔案)。請確保該目錄有合適的權限來允許上傳檔案。在 Unix/Linux 伺服器上,很可能是 744 權限。
- 如果本元件不允許您上傳特定類型的檔案(例如 zip 格式檔案), 那是因為本元件完全遵照“媒體管理器”中限定的允許上傳的檔案類型。這是為了防止上傳存在潛在危害的檔案類型,如 html 或 php 檔案。 網站管理員可以更改“媒體管理器”的設定來添加允許的檔案類型,方法是:進入網站后臺菜單上的“網站”下的“全局設置”,選擇“系統”標簽,在“媒體管理器”部分的列表中添加對應的檔案擴展名及 Mime 類型。
- 本元件可以被翻譯成您的本地語言,目前已帶有下列語種(除英語之外)的翻譯:
- 中文: 簡體中文及正體中文翻譯:
baijianpeng (http://www.joomlagate.com).
非常感謝翻譯人員! 如果您也愿意將本元件翻譯為其它語言,請與作者聯系(見本頁末尾).
- 第二個插件,'add_attachment_plugin' (在后臺插件管理頁面的初始名稱是 'Button-AddAttachment') 可以讓您在撰寫/修改文章時,直接從編輯器窗口給文章添加附件。此插件會在文章編輯區域的下方增加一個按鈕,名為“添加附件”。如果您已經安裝了此插件卻沒有看到這個按鈕,很可能是因為在“插件管理”中沒有啟用 add_attachment 插件。
- 這個版本已經可以在 Joomla! 1.5 啟用 SEF 的情況下正常工作。建議您使用最新版本的 Joomla! 1.5.x 核心。
【回到頁頂】
升級
如果您之前已經上傳了附件,現在希望在升級時繼續保留,請按照下列步驟操作:
- 通過 phpMyAdmin (或其它 SQL 備份工具) 保存 jos_attachments 資料表的內容(使用“導出”功能)。
- 卸載“Attachments”元件。如果 Joomla 提示說無法刪除媒體檔案,您就必須手動刪除 /media/attachments 目錄。
- 卸載“Attachments”插件。
- 安裝新版本元件和插件。
- 啟用“Attachments”插件。
- 最后通過 phpMyAdmin 導入前面保存的附件資料到新創建的 jos_attachments 資料表中。
- 如果您是從低于 1.0 的某個版本升級到高于 1.0 的版本,并且您有以前的附件檔案, 您還需要在新的“icon_filename”字段中添加適當的值。方法是以管理員身份登入網站后臺,然后在瀏覽器中打開下面這個 URL:
/administrator/index.php?option=com_attachments&task=add_icon_filenames
注意:卸載“Attachments”元件不會刪除以前上傳的檔案,但是會刪除資料庫中的附件資料表。因此在重新安裝新版本之后,只需導入附件資料表即可恢復所有以前的附件。
如果您不需要恢復附件資料庫,請別忘記刪除附件目錄中以前上傳的附件檔案,以免后面發生檔名沖突。
【回到頁頂】
致謝
對以下資料及人員表示衷心感謝:
- 書籍:Learning Joomla! 1.5 Extension Development: Creating Modules,
Components, and Plugins with PHP 作者: Joseph L. LeBlanc 這本書在開發 Attachments 元件過程中幫了大忙!
- 各種檔案類型的圖示提取自多個來源,包括:
注意:大多數用于 Attachments 元件的圖示與這些網站的原始圖示相比,已經作了一些修改。如果您更喜歡原始版本,請從上述網站下載它們。
【回到頁頂】
如果您發現了 bug 或者有什么寶貴意見,請發郵件到 jmcameron@jmcameron.net.