我知道我过去曾见过这个,但我现在似乎无法找到它。
基本上我想创建一个我可以托管在dasBlog实例上的页面,该实例包含我主题的布局,但是我控制的页面内容。
理想情况下,内容是我编写的用户控件或ASPX。谁知道我怎么能做到这一点?
答案 0 :(得分:4)
这样做的简单方法是“劫持”FormatPage功能。
首先将以下内容添加到newtelligence.DasBlog.UrlMapper部分的web.config中:
<add matchExpression="(?<basedir>.*?)/Static\.aspx\?=(?<value>.+)" mapTo="{basedir}/FormatPage.aspx?path=content/static/{value}.format.html" />
现在,您可以在内容目录中创建名为static的目录。从那里,您可以创建html文件,文件名将映射到这样的URL:
http://BASEURL/Static.aspx?=FILENAME
将映射到名为:
的文件/content/static/FILENAME.format.html
您可以在该文件中放置通常放在itemTemplate.blogtemplate中的任何内容,但显然不会有任何发布数据。但是你可以使用它来放置其他宏,并且仍然使用hometemplate.blogtemplate来保持主题的其余部分围绕页面。
答案 1 :(得分:1)
我做了类似的事情,设置了一个处理程序,用于从家庭服务器上的博客中流式传输视频文件。我最终放弃了它,因为只要有人观看视频,它就会占用我的带宽,但我确实已经把它拿出来工作了一段时间。
为了让它工作,我不得不从源代码控制中检查dasBlog并在visual studio中打开它。我有VS2008并且它是使用VS2005构建的,因此需要一些工作来完成所有内容的构建。一旦我能够获得未经改变的构建解决方案,我就添加了一个新的类库项目来保存我的代码。这是为了确保我的代码在dasBlog更新中保持独立。
我无法在工作中访问此代码,因此我现在无法告诉您确切的名称,但如果您希望您的网页能够使用主题,那么他们需要从newtelligence.dasBlog.Web命名空间,我相信也实现了一个接口。要查看的好地方是FormatPage和FormatControl。