我正在建立一个退伍军人的前端。前端的主要目的是基于存储在数据库中的内容呈现html页面。
每页有一个表,每个表都包含一个带有页面内容和一些元数据的xml字段。 (我选择在数据库中存储xml以利用SQL Server 2008提供的功能,如xquery或xsd验证)
我正在考虑如何存储页面之间的链接,以便将来可以更改url架构(我不完全确定它是必需的)。
目前我确定了两种类型的内部链接:
<a>
标记。目前我看到以下解决方案:
正常链接:
$PAGE_LINK[unique identifier of the content]
并且在渲染阶段用正确的链接替换这样的标记。
(这种方法取自Livesite和我合作过的ECMS)<a href="local://unique identifier of the content">
并替换href属性的内容
有适当的链接。以及包含嵌入内容的链接列表:
将其存储为内容唯一标识符的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等?你会选择哪种解决方案?
答案 0 :(得分:1)
我想这在很大程度上取决于您对链接的期望。我过去曾经使用过几个CMS,其中一个我喜欢的东西是你可以阻止删除或停用链接到它们的页面。这样我就躲过了很多帮助台电话。另一个很棒的功能是报告断开的链接,如果你允许人们打破链接。
他们所做的是有一个你可以配置的默认链接方案,然后它将模式匹配内容中的链接以查找相关内容。这将在内容保存/发布时完成。 对于系统生成的链接,内部代码会将链接注册到与生成链接相同的索引中。
试图避免的陷阱是缓存。如果缓存渲染页面,则如果链接以任何方式发生更改,则应使该缓存无效。
HTH。