<< [[MediaWiki]]/[[MediaWiki extensions|擴充套件]]

提供使用者能自由編輯的活動訊息行事曆。 

{{Software version| software=MediaWiki | url=http://www.mediawiki.org/ |  version=1.11.0 }}

* official: [http://www.mediawiki.org/wiki/Extension:DPL_Calendar Extension:DPL Calendar - MediaWiki]
** 本文件修改自[http://semeb.com/dpldemo/index.php?title=Calendar_zh-tw DPL Calendar 的官方中文網頁]
** 缺點: 缺乏iCal格式輸出，無法匯出至其他[[Calendar|行事曆網站服務]](ex: 30boxes, Google calendar)。

== 安裝(Installation) ==

=== 安裝擴充套件(Install extensions) ===

您需要：
# 從DPL Calendar官方網站 [http://semeb.com/dpldemo/index.php?title=Download Download]頁面下載後解壓縮) 
#* DPL 擴充套件
#* Call 擴充套件
#* Inputbox 擴充套件 (此版本與官方版本有些許的差異)
#從 mediawiki.org：
#* [http://www.mediawiki.org/wiki/Extension:VariablesExtension Extension:VariablesExtension]
#* [http://www.mediawiki.org/wiki/Extension:StringFunctions Extension:StringFunctions] -- 於DPL Calendar官方網站內的版本[http://semeb.com/dpldemo/index.php?title=StringFunctions_extension StringFunctions]則為小幅度功能增強版本，可使用正則表達式( regular expressions); 雖然並非必須，但還是建議您使用DPL Calendar官方網站所提供之版本。 
#* [http://meta.wikimedia.org/wiki/Help:ParserFunctions#Installation Extension:ParserFunctions]

The process of installation is the same as always: create a directory per extension in the 'extension' folder and put a 'require_once' statement into your LocalSettings.php.

<pre>
require_once('extensions/DynamicPageList/DynamicPageList2.php');
require_once('extensions/Call/Call.php');
require_once('extensions/Inputbox/inputbox.php');
require_once('extensions/Variables/Variables.php');
require_once('extensions/StringFunctions.php');
require_once('extensions/ParserFunctions/ParserFunctions.php');
</pre>

===安裝行事曆樣板(Install Calendar Templates)===

複製(Copy) / 貼上(paste)以下的頁面至[[Special:export]] 然後將此頁所產出的 XML 文字檔 匯入您的wiki:

<small>
 [[Current events zh-tw]]
 [[Template:Calendar month zh-tw]]
 [[Template:CalendarSingle zh-tw]]
 [[Template:Calendar link zh-tw]]
 [[Template:Calendar/MonthStartMon]]
 [[Template:Calendar/MonthStartTue]]
 [[Template:Calendar/MonthStartWed]]
 [[Template:Calendar/MonthStartThu]]
 [[Template:Calendar/MonthStartFri]]
 [[Template:Calendar/MonthStartSat]]
 [[Template:Calendar/MonthStartSun]]
 [[Template:!]]
 [[Template:(!]]
 [[Template:!)]]
 [[Template:活動模版]]
 [[Event intro]]
 [[Template:Event]]
 [[Template:新增活動]]
 [[Calendar zh-tw/Demo]]
 [[Wiki Calendar]]
</small>

模版說明
* [[Current events zh-tw]]: 行事曆的入口頁
** [[Template:Calendar month zh-tw]]
** [[Template:CalendarSingle zh-tw]]: 呈現單月的行事曆
* [[Template:Calendar link zh-tw]]: 行事曆的日期連結(連結至[[Template:新增活動]])
* [[Template:新增活動]]: 輸入活動名稱的文字方框
* [[Template:活動模版]]: 空白活動模版
* [[Event intro]]: 在[[Template:活動模版]]輸入活動資訊時的上方輔助說明文字
* [[Template:Event]]: 個別活動的呈現模版


=== 使用方式(Using the calendar) ===

建立一個用以描述記事(events)的新文件，您可以點選行事曆上的日期數字或是以其他方式自行建置一個符合行事曆命名規範的文件。
*請依照下列的命名規範：頁面名稱須以日期(date)為起首 (如"YYYY-MM-DD"其後再加些簡短的描述。
*:例如： "2007-10-31 一些重要的事情"
*請記得該文件須隸屬於'Events'此一分類(category)，如果您在文件的第一行使用了[[:Template:Event|"Event"樣板]，則其自動完成此一設定。
*如有必要，您請可另行增加其他分類 (像是<tt><nowiki>[[Category:假日]]</nowiki></tt> )，這樣的話該資訊亦會顯示於行事曆下方的表格(event table)之中。
** 以[http://wiki.planetoid.info/index.php/Special:Call/Calendar_month_zh-tw%2CeventList%3Dall%2Cbasepage%3DCurrent_events%2Cyear%3D2008%2Cmonth%3D02%2Cpurpose%3D demo]行事曆為例，在網址的 purpose%3D 或 purpose= 加上事件的分類，就能篩選為該分類的行事曆 (ex:[http://wiki.planetoid.info/index.php/Special:Call/Calendar_month_zh-tw%2CeventList%3Dall%2Cbasepage%3DCurrent_events%2Cyear%3D2008%2Cmonth%3D02%2Cpurpose%3DLIS 類別為 LIS 的行事曆])。
* 您可以'YYYY'的方式來定義每年一度重複性(yearly recurring events)的記事。
*:例如"YYYY-12-24 耶誕夜"
* 同樣的您可以'YYYY-MM'的方式來定義每個月重複性(yearly recurring events)的記事。
*: 例如"YYYY-MM-05 領薪水"

目前尚無法以其他方式定義經常性的記事。

=== 客製化Customizing ===

如您想要客製化此一行事曆，請您撥冗查閱一下DPL的使用手冊(DPL manual)特別是[http://semeb.com/dpldemo/index.php?title=Include include] 參數及[http://semeb.com/dpldemo/index.php?title=Format format] 參數。在我們的範例中[[Template:calendar month zh-tw]], 設有：
<pre>#Summary,#Participants,#Location</pre>
<pre>#主旨,#參加人員,#地點</pre>

分別將顯示 ''Summary'', ''Participants'' 及 ''Location'' 等章節。(which means to take the content of ''Summary'', ''Participants'' and ''Location'' sections.)

You could modify the name of sections, the number of sections or even take the parameters of a template inside the event page. Again, see the DPL manual.

==行事曆程式碼產生器(中文版)==
[http://semeb.com/dpldemo/index.php?title=Calendar_zh-tw#.E8.A1.8C.E4.BA.8B.E6.9B.86.E7.A8.8B.E5.BC.8F.E7.A2.BC.E7.94.A2.E7.94.9F.E5.99.A8.28.E4.B8.AD.E6.96.87.E7.89.88.29 行事曆程式碼產生器(中文版)]: 透過 wiki 語法產生行事曆 (僅適用於 Mediawiki 和 DPL calendar 套件)

{{Tips}}  如果你想尋找「php行事曆程式碼」，可以點選[[OpenSource for Educators]]裡面有開放原始碼的專案檔案庫，或者直接查看針對這些專案網站的自訂搜尋結果 [http://www.google.com/custom?cx=010660376355600943635:fiv-qk6ts9a&q=%22php+calendar%22&sa=Search&cof=AH%3Aleft%3BCX%3ASearch%2520free%2520icons%3BDIV%3A%23cccccc%3BFORID%3A1%3BGFNT%3A%23666666%3BL%3Ahttp%3A%2F%2Fplanetoid%2Einfo%2Fimages%2Flogo_of_custom_search%2Egif%3BLH%3A100%3BLP%3A1%3BS%3Ahttp%3A%2F%2Fwiki%2Eplanetoid%2Einfo%2Findex%2Ephp%2FFree_icon_resources%3B&adkw=AELymgX9RGoVsVqDLnZE2geG1QvBnjWNZr4E3EKdcYst8Kw_sCvKAS4gGHTY8M5ovjl9q18EcwjTmlTRR49LYw1JeXqY3KXn7Erdq2dAQmb5himJ4Kx-rSE&hl=en&client=pub-8270368572690590 &quot;php calendar&quot; - Google Search]。

[[Category:MediaWiki]]