如何将Kentico数据库条目映射到URL和实际网页

时间:2013-07-10 12:56:16

标签: asp.net kentico

因此我们的任务是将基于Kentico(我认为是基于dll版本的v7.0)的网站迁移到另一个(非.NET)解决方案。该网站相当小。

当然,为了将旧网站迁移到新网站,我们必须保留旧内容和旧网址。旧URL在课程结束时有.aspx。我们想让他们都把HTTP 301扔给新的。

我不是.NET开发人员,我一直在窥探Kentico的数据库和Web界面一段时间。我已将其缩小到CMS_Document表。 :)我知道并找到了以下字段:

DocumentPageTitle
DocumentPageKeyWords
DocumentPageDescription
DocumentContent

一切都很直接。

任何人都可以提供有关在哪里查找连接网址的具体信息 - >数据库输入 - >网页在同一个网址上?

但是DocumentUrlPath呢?如果有/example,我可以确定这等于/example.aspx这样的真实网址吗?

DocumentForeignKeyValue指向哪个表?

如何区分该表中的页面和图像?是的,有DocumentType字段,但它只有一个文件扩展名(如.png)存储用于文本和图片文件,对其他人来说似乎是NULL

到目前为止,我的结论是否正确?感谢您的时间。

1 个答案:

答案 0 :(得分:1)

事实证明,由于数据库结构非常复杂,因此在数据库中也创建了很多视图。 View_CMS_Tree_Joined是视图(或我正在寻找的其中一个视图)。

快速参考我需要的一些专栏:

[ClassName]
[ClassDisplayName]
[DocumentPageTitle]
[DocumentPageKeyWords]
[DocumentPageDescription]
[DocumentContent]
[DocumentType]
[NodeAliasPath]
[DocumentUrlPath]
[DocumentExtensions]

这些(以及其他一些)似乎足以解析一些数据。一个痛苦将是实际的页面内容,因为它非常有趣地存储在DB中:

<content>
<webpart id="editabletext;821223e7-e515-4a0b-92c1-30726c724889"><![CDATA[<p>SOME TEXT HERE</p>]]></webpart>
<webpart id="editableimage;27a57931-f182-4ae9-b41d-1af0790d5286"><![CDATA[<image><property name="imagepath">~/asdasd/media/asdasd/images/2013/4.gif</property></image>]]>
<!-- EVEN MORE STUFF LIKE THAT-->
</content>

因此,每个标记都包含在CDATA和webpart标记中。我可以使用CDATA,但为什么是非标准标签?无论如何都会痛苦地解析它。

可以在this document中找到有关数据库结构的一些其他信息。 database reference也被证明是一个很好的资源。

非常感谢那些在Kentico Dev Forums发表评论的人here