gpt4 book ai didi

architecture - 如何在CMS中存储页面之间的链接

转载 作者:行者123 更新时间:2023-12-02 04:18:07 26 4
gpt4 key购买 nike

我正在为ecms构建前端。前面的主要目的是基于存储在数据库中的内容来呈现html页面。

我每页有一个表,每个表都包含一个XML字段,其中包含页面内容和一些元数据。
(我选择将xml存储在数据库中以利用SQL Server 2008提供的功能,例如xquery或xsd验证)

我正在考虑如何存储页面之间的链接,以便将来可以更改url模式(我不完全确定这是必需的)。

目前,我确定了两种类型的内部链接:

  • 普通链接-就像被文本包围的<a>标签。
  • 嵌入内容的链接列表-类似于相关新闻项目的列表(对于每个项目,我需要显示带有链接和摘要的标题)

  • 目前,我看到以下解决方案:

    正常链接:
  • 将其存储在 token 中,例如:$PAGE_LINK[unique identifier of the content]并在渲染阶段用正确的链接替换此类 token 。
    (此方法来自与我合作过的Livesite ECMS)
  • 将其存储为<a href="local://unique identifier of the content">并替换href属性的内容
    有正确的链接。
  • 假定url的模式是静态的。

  • 以及具有嵌入式内容的链接列表:
  • 将它存储在数据库中的多对多关系中(以利用我的ORM)。
  • 将其存储为内容的唯一标识符的xml列表,作为页面xml内容的一部分(这提供了免费的订购,并且更加灵活)。例:
    <related_articles>
    <resource type="news" content_id="233"/>
    <resource type="news" content_id="231"/>
    <resource type="blog_post" content_id="233"/>
    </related_articles>

  • 问题:
    您知道其他解决此问题的方法吗?在领先的CMS系统(如Drupal,Joomla,N2,Wordpress等)中如何完成?您会选择哪种解决方案?

    最佳答案

    我想这很大程度上取决于您对链接的期望功能。过去我曾经使用过CMS,而我最喜欢的其中之一就是您可以阻止删除或停用链接到它们的页面。这样,我就避开了很多服务台 call 。另一个很棒的功能是如果确实允许人们断开链接,则报告断开的链接。

    他们所做的是有一个可以配置的默认链接方案,然后它将对内容中的链接进行模式匹配以找到相关内容。这将在内容被保存/发布时完成。
    对于系统生成的链接,内部代码会将链接注册到与其生成链接相同的索引中。

    尝试避免的陷阱是缓存。如果缓存呈现的页面,则如果链接以任何方式更改,则应使该缓存无效。

    HTH。

    关于architecture - 如何在CMS中存储页面之间的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1551580/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com