如何在dasBlog中创建自定义页面?

时间:2020-03-05 18:49:24  来源:igfitidea点击:

我知道我过去曾经看过,但是现在似乎找不到。

基本上,我想创建一个页面,我可以在dasBlog实例上托管该页面,该实例包含主题的布局,但我控制页面的内容。

理想情况下,内容是我编写的用户控件或者ASPX。有人知道我该怎么做吗?

解决方案

回答

我做过类似的事情,设置了一个处理程序以流式传输来自家庭服务器上博客的视频文件。我最终放弃了它,因为每当有人观看视频时,它都会占用我的带宽,但是我确实将其启动并工作了一段时间。

为了使其正常工作,我必须从源代码管理中检出dasBlog并在Visual Studio中将其打开。我有VS2008,它是使用VS2005构建的,因此花了一些工夫才能构建所有东西。一旦我获得了未更改的解决方案来构建,就添加了一个新的类库项目来保存我的代码。这是为了确保我的代码在dasBlog更新之间保持独立。

我无法在这里使用代码,因此我现在无法告诉我们确切的名称,但是如果我们希望页面能够使用主题,则它们需要从newtelligence.dasBlog中的类继承。 .Web命名空间,而且我相信还可以实现一个接口。查找的好地方是FormatPage和FormatControl。

回答

简便的方法是"劫持" 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" />

现在,我们可以在内容目录中创建一个名为static的目录。从那里,我们可以创建html文件,文件名将映射到url,如下所示:

http://BASEURL/Static.aspx?=文件名

将映射到一个名为:

/content/static/FILENAME.format.html

我们可以将通常放置在itemTemplate.blogtemplate中的任何文件放置在该文件中,除非它显然没有任何发布数据。但是我们基本上可以使用它来放置其他宏,并且仍然可以使用hometemplate.blogtemplate将其余的主题包裹在页面中。