Umbraco/在 C# 中建立類似 umbraco.Library 的 xslt 擴充套件
外觀
< Umbraco
建立一個新的 xslt 擴充套件,類似於 C# 中的 umbraco.library。
有時你需要在你的 xslt 中使用更多功能,大多數情況下 umbraco.Library 就足夠了。但是,如果這些功能還不夠怎麼辦?
有兩種方法可以建立你自己的函式
1. 內聯程式碼。 2. xslt 擴充套件
我的觀點。
內聯程式碼。
內聯程式碼會讓我的 xslt 看起來很亂,並且很難複用,但如果你只需要一個函式,它就可以正常工作。關於內聯程式碼的更多資訊可以在這裡找到 here
xslt 擴充套件。
另一方面,xslt 擴充套件看起來更整潔,並且易於重複使用。
一步一步,我將逐步進行
1. 建立一個類庫,在我的例子中是“ronnie.library”。
2. 建立你需要的類。在我的例子中是“dateMethods.cs”
3. 建立你需要的函式(請記住,函式必須是公開的和靜態的)例如
public static int ugeNummer(DateTime dato)
{
string res;
res = Microsoft.VisualBasic.DateAndTime.DatePart(Microsoft.VisualBasic.DateInterval.WeekOfYear, dato,
Microsoft.VisualBasic.FirstDayOfWeek.Monday, Microsoft.VisualBasic.FirstWeekOfYear.System).ToString();
return Int32.Parse(res);
}
4. 完成函式建立後,構建並複製 dll 檔案(在我的例子中是“ronnie.library.dll”)到 bin 資料夾。
5. 現在你只需要註冊你的 xslt 擴充套件,這在 xsltExtensions.xml 檔案中完成(位於 config 資料夾中)。
6. 開啟檔案並新增以下行。請注意,從 Umbraco 4.5 開始,不再需要 /bin/!
<ext assembly="/bin/ronnie.library" type="ronnie.dateMethods" alias="CoolDateMethods" />
- Assembly
- 在這裡輸入你放置 dll 檔案的位置(不帶 .dll 副檔名)
- type
- “.NET_namespace.ClassName” 在這裡你需要寫名稱空間,然後是一個點,以及你要使用的類。
- alias
- 這是你的 xmlns,類似於 umbraco.Library,你可以隨意命名。在我的例子中是 CoolDateMethods
7. 最後,但並非最不重要的是,你需要記住在你的 xslt 文件中新增 xmlns;操作方法如下
xmlns:CoolDateMethods ="urn:CoolDateMethods" exclude-result-prefixes="msxml umbraco.library CoolDateMethods
現在你應該可以使用你的新 xslt 擴充套件了。希望這篇快速又簡陋的文章對你有用。
//Ronnie