2008-09-08 185 views
3

我知道我已經在過去看到了這一點,但我似乎現在不能找到它。如何在dasBlog中創建自定義頁面?

基本上我想創建一個頁面,我可以在dasBlog實例上包含來自我的主題的佈局,但是我控制的頁面的內容。

理想情況下,內容是我編寫的用戶控件或ASPX。任何人都知道我能做到這一點嗎?

回答

4

最簡單的方法是「劫持」FormatPage功能。

首先添加以下的newtelligence.DasBlog.UrlMapper節你的web.config:

<add matchExpression="(?&lt;basedir&gt;.*?)/Static\.aspx\?=(?&lt;value&gt;.+)" mapTo="{basedir}/FormatPage.aspx?path=content/static/{value}.format.html" /> 

現在你可以創建自己的內容目錄的目錄稱爲靜態。從那裏,你可以創建HTML文件和文件名稱將映射到的URL是這樣的:

http://BASEURL/Static.aspx?=FILENAME

會映射到一個名爲:

/content/static/FILENAME.format.html

您可以在該文件中放置通常放置在itemTemplate.blogtemplate中的任何內容,但顯然不會有任何後期數據。但是,你基本上可以用它來放其他的宏,並且仍然有它使用hometemplate.blogtemplate,讓您的主題頁面纏的其餘部分。

1

我做了類似的事情,設置了一個處理程序,以便在家庭服務器上的博客上傳輸視頻文件。我最終拋棄它,因爲它殺死了我的帶寬,每當有人觀看視頻,但我確實有它,並工作了一段時間。

爲了得到它的工作,我不得不從源代碼控制中檢查dasBlog並在Visual Studio中打開它。我有VS2008,它是使用VS2005構建的,因此需要一些工作來構建一切。一旦我能夠獲得未修改的解決方案,我就添加了一個新的類庫項目來保存我的代碼。這是爲了確保我的代碼在dasBlog更新中保持獨立。

我在這裏沒有訪問代碼的工作,所以我現在不能告訴你確切的名字,但是如果你想讓你的頁面能夠使用這些主題,那麼他們需要繼承一個類newtelligence.dasBlog.Web命名空間,我相信也實現了一個接口。在FormatPage和FormatControl中查看一個好地方。

+0

我很確定有一個更簡單的方法,不需要dasBlog源。不過,我會記住,以防萬一我錯了。 – 2008-09-08 15:56:35

相關問題