2009-11-27 15 views
4

我正在寻找一种管理文章内链接的策略。文章正文保存在数据库中,并在页面装配过程中拉出。所有应该保存在数据库中以便轻松定义和管理链接?链接的概念是否与它的html标记不可分离?

一些纯粹主义者认为标记不应该存储在数据库中。有些人认为适度。但对我而言,链接的概念几乎与它的html标记密不可分。

在文章(数据库中)中是否有更好更简洁的表示链接的方式,而不是简单地嵌入“锚文本”?

我踢过的一个想法是嵌入足够的标记语义描述感兴趣的区域,并在不同的表中将这些概念映射到实际的URL。所有特定概念的遭遇都会被链接所包裹。

<p>Here is an example of a 
<span class="external-reference semantic-web">semantic</span> 
approach to link management.</p> 

一个表,然后可能我喜欢这种方法的文章的URL和重点班“语义网”的一个URL像http://en.wikipedia.org/wiki/Semantic_Web

<p>Here is an example of a <span class="external-reference semantic-web"> 
<a href="http://en.wikipedia.org/wiki/Semantic_Web">semantic</a></span> 
approach to link management.</p> 

事情联系起来是所有我的网址位于数据库中的一个位置。我可以在技术上更改或删除链接,而无需触摸文章的正文。我有很好的CSS类名。

我不喜欢有另一个表来维护,并在渲染时间的另一个阶段/阶段。它可能会缩短响应时间。

有没有其他的策略可以提供卓越的链接管理?

+0

我不认为会有满意的答案,但我喜欢这个问题。 +1 – MitMaro

回答

1

你可能想看看模板(例如PHP的)。

我同意标记不应该通常被保存在数据库中。然而,你也可以考虑实现一个“指针”的概念,在每一个链接处,你打破你的页面存储,在链接表中添加一个指针,然后在链接表中的指针指向下一个该页面的内容片段。 (我不知道这会是多么复杂 - 只是一个想法。)

或者看看各种CMS工具如何处理这个想法。有些只是将数据库中的所有内容都视为一大块文本,而另一些则依赖于模板,而另一些则完全可以做其他事情(如面向对象的环境,如Plone)。

1

有几次尝试做到这一点,我见过。

一种方法是通过URL重定向。您可以在服务器上实现一个逻辑组件,该组件将解释URL请求的内容,而不是内容路径。

另一个尝试是链接最初设置为参考值[可以在数据库中查找],并在运行时/生成时请求。

无论如何,你将不得不引用你想链接到某种标识符的材料。