【问题标题】:How to map Kentico DB Entries to URLs and actual web pages如何将 Kentico DB 条目映射到 URL 和实际网页
【发布时间】:2013-07-08 10:00:35
【问题描述】:

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

当然,为了将旧网站迁移到新网站,我们必须保留旧内容以及旧网址。当然,旧 URL 的末尾有 .aspx。我们希望他们都向新的服务器抛出 HTTP 301。

我不是 .NET 开发人员,而且我已经在 Kentico 的 DB 和 Web 界面上窥探了一段时间。我已将其范围缩小到 CMS_Document 表。 :) 我知道并找到了以下字段:

DocumentPageTitle
DocumentPageKeyWords
DocumentPageDescription
DocumentContent

一切都是直截了当的。

任何人都可以提供有关在何处查找连接 URL -> 数据库条目 -> 同一 URL 上的网页的具体信息吗?

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

DocumentForeignKeyValue 指向哪个表?

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

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

【问题讨论】:

    标签: asp.net kentico


    【解决方案1】:

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

    我需要的一些列的快速参考:

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

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

    <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 找到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多