Question

Je recherche une stratégie pour gérer les liens dans les articles. Le corps de l'article est enregistré dans une base de données et extrait lors de l'assemblage de la page. Que faut-il enregistrer dans la base de données pour définir et gérer facilement les liens?

Certains puristes estiment que le balisage ne devrait JAMAIS être stocké dans la base de données. Certains croient que c'est ok avec modération. Mais pour moi, la notion de lien est presque indissociable de son balisage HTML.

Existe-t-il un moyen plus simple et plus succinct de représenter un lien dans un article (dans une base de données) en incorporant simplement le "texte d'ancrage"?

Une des idées que j'ai évoquées consiste à incorporer juste assez de balises pour décrire sémantiquement les zones d’intérêt, et dans un tableau différent, mappez ces notions sur des URL réelles. Toutes les rencontres d’une notion particulière sont encapsulées avec le lien.

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

Une table peut alors associer l'URL de l'article et la classe de clé de 'semantic-web' à une URL du type http://en.wikipedia.org/wiki/Web_Sémantique

<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>

Ce que j’aime dans cette approche est que toutes mes URL se trouvent au même endroit dans la base de données. Je pouvais techniquement changer ou supprimer des liens sans toucher au corps de l'article. J'ai de très bons noms de classe pour CSS.

Je n'aime pas avoir une autre table à gérer et une autre étape / phase dans le temps de rendu. Cela pourrait ralentir le temps de réponse.

Existe-t-il d'autres stratégies offrant une gestion de liaison supérieure?

Était-ce utile?

La solution

Vous pouvez envisager de créer des modèles (tels que Smarty pour PHP).

Je conviens que le balisage ne devrait pas normalement être conservé dans la base de données.

Cependant, vous pouvez également envisager de mettre en place un " pointeur " concept, où à chaque lien, vous cassez votre stockage de la page, ajoutez un pointeur dans la table au lien, puis un pointeur dans la table des liens au segment de contenu suivant de la page. (Je ne sais pas à quel point ce serait compliqué - juste une idée.)

Ou regardez comment divers outils de gestion de contenu traitent l’idée. Certains ne font que mettre tout dans la base de données sous la forme d'un gros bloc de texte, d'autres s'appuient sur des modèles, d'autres peuvent faire autre chose (comme des environnements orientés objet tels que Plone ).

Autres conseils

Il y a quelques tentatives que j'ai déjà vues.

Une façon de le faire consiste à rediriger les URL. Vous pouvez implémenter un composant logique sur le serveur qui interprétera ce que l'URL demande plutôt qu'un chemin d'accès au contenu.

Une autre tentative est que les liens soient initialement définis sur une valeur de référence [pouvant être recherchée dans une base de données] et soient demandés à l'exécution / génération.

Quoi qu'il en soit, vous devrez référencer le matériel que vous souhaitez associer à un identifiant quelconque.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top