Pregunta

Estoy buscando una estrategia para administrar enlaces dentro de los artículos. El cuerpo del artículo se guarda en una base de datos y se extrae durante el montaje de la página. ¿Qué se debe guardar en la base de datos para definir y administrar enlaces fácilmente?

Algunos puristas creen que el marcado NUNCA debe almacenarse en la base de datos. Algunos creen que está bien con moderación. Pero para mí, la noción de un enlace es casi inseparable de su marca html.

¿Existe una forma mejor y más sucinta de representar un enlace en un artículo (en una base de datos) que simplemente incrustar " texto de anclaje " ;?

Una idea a la que me he referido consiste en incrustar el margen suficiente para describir semánticamente las áreas de interés y, en una tabla diferente, asignar esas nociones a las URL reales. Todos los encuentros de una noción particular se envuelven con el enlace.

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

Entonces, una tabla puede asociar la URL del artículo y la clase clave de 'web semántica' a una URL como 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>

Lo que me gusta de este enfoque es que todas mis URL están en una ubicación en la base de datos. Técnicamente podría cambiar o eliminar enlaces sin tocar el cuerpo del artículo. Tengo muy buenos nombres de clase para CSS.

No me gusta tener otra tabla para mantener, y otro paso / fase en el tiempo de procesamiento. Podría ralentizar el tiempo de respuesta.

¿Hay alguna otra estrategia por ahí que proporcione una gestión de enlaces superior?

¿Fue útil?

Solución

Es posible que desee ver las plantillas (como Smarty para PHP).

Estoy de acuerdo en que el marcado no debería estar normalmente en la base de datos.

Sin embargo, también puede considerar la implementación de un " puntero " concepto, donde en cada enlace rompe el almacenamiento de la página, agrega un puntero en la tabla al enlace y, a continuación, un puntero en la tabla del enlace al siguiente segmento de contenido de la página. (No tengo idea de lo complicado que sería eso, solo una idea).

O mira cómo varias herramientas de CMS manejan la idea. Algunos simplemente ponen todo en la base de datos como un gran bloque de texto, mientras que otros se basan en plantillas, y otros pueden hacer otra cosa completamente (como entornos orientados a objetos, como Plone ).

Otros consejos

Hay algunos intentos de hacer esto que he visto.

Una forma de hacerlo es a través de redireccionamientos de URL. Puede implementar un componente lógico en el servidor que interpretará lo que solicita la URL en lugar de una ruta de acceso al contenido.

Otro intento es que los enlaces se configuren originalmente como un valor de referencia [que se puede buscar en una base de datos] y se solicitan en tiempo de ejecución / generación.

En cualquier caso, tendrá que hacer referencia al material que desea vincular con algún tipo de identificador.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top