跳轉到內容

Umbraco/在 C# 中建立類似 umbraco.Library 的 xslt 擴充套件

來自華夏公益教科書

建立一個新的 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

華夏公益教科書