我知道我已经在过去看到了这一点,但我似乎现在不能找到它。如何在dasBlog中创建自定义页面?
基本上我想创建一个页面,我可以在dasBlog实例上包含来自我的主题的布局,但是我控制的页面的内容。
理想情况下,内容是我编写的用户控件或ASPX。任何人都知道我能做到这一点吗?
我知道我已经在过去看到了这一点,但我似乎现在不能找到它。如何在dasBlog中创建自定义页面?
基本上我想创建一个页面,我可以在dasBlog实例上包含来自我的主题的布局,但是我控制的页面的内容。
理想情况下,内容是我编写的用户控件或ASPX。任何人都知道我能做到这一点吗?
最简单的方法是“劫持”FormatPage功能。
首先添加以下的newtelligence.DasBlog.UrlMapper节你的web.config:
<add matchExpression="(?<basedir>.*?)/Static\.aspx\?=(?<value>.+)" 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,让您的主题页面缠的其余部分。
我做了类似的事情,设置了一个处理程序,以便在家庭服务器上的博客上传输视频文件。我最终抛弃它,因为它杀死了我的带宽,每当有人观看视频,但我确实有它,并工作了一段时间。
为了得到它的工作,我不得不从源代码控制中检查dasBlog并在Visual Studio中打开它。我有VS2008,它是使用VS2005构建的,因此需要一些工作来构建一切。一旦我能够获得未修改的解决方案,我就添加了一个新的类库项目来保存我的代码。这是为了确保我的代码在dasBlog更新中保持独立。
我在这里没有访问代码的工作,所以我现在不能告诉你确切的名字,但是如果你想让你的页面能够使用这些主题,那么他们需要继承一个类newtelligence.dasBlog.Web命名空间,我相信也实现了一个接口。在FormatPage和FormatControl中查看一个好地方。
我很确定有一个更简单的方法,不需要dasBlog源。不过,我会记住,以防万一我错了。 – 2008-09-08 15:56:35