Pergunta

Eu estou procurando uma estratégia para gerenciar links dentro artigos. O corpo do artigo é salvo em um banco de dados e puxado durante a página montagem. O que todos devem ser salvos no banco de dados para facilmente definir e gerenciar links?

Alguns puristas acreditam que a marcação nunca devem ser armazenados no banco de dados. Alguns acreditam que o seu ok com moderação. Mas, para mim, a noção de uma ligação é quase inseparável de sua marcação HTML.

Existe uma maneira melhor, mais sucinta de representar um link em um artigo (em um banco de dados) do que simplesmente incorporar "texto âncora"?

Uma idéia que eu tenho chutado envolve a incorporação de apenas marcação suficiente para descrever semanticamente áreas de interesse, e em uma tabela diferente, mapear essas noções para URLs reais. Todos os encontros de uma noção particular se envolver com o link.

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

A mesa, em seguida, pode associar a URL do artigo e da classe chave de 'semântico-web' para uma 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>

Coisas que eu gosto sobre esta abordagem é que todos os meus URLs estão em um local no banco de dados. Eu poderia tecnicamente alterar ou remover ligações sem tocar no corpo do artigo. Tenho muito boas nomes de classe para CSS.

Eu não gosto de ter outra tabela de manter, e uma outra etapa / fase em tempo de render. Ele poderia retardar o tempo de resposta.

Existem outras estratégias lá fora, que fornecem gerenciamento de link superior?

Foi útil?

Solução

Você pode querer olhar para templates (como Smarty para PHP).

Eu concordo que a marcação não deve normalmente ser realizada no banco de dados.

No entanto, você pode também considerar a implementação de um conceito "ponteiro", onde a cada link, você quebrar o seu armazenamento da página, adicionar um ponteiro na tabela para o link, em seguida, um ponteiro na tabela de link para o próximo segmento de conteúdo para a página. (Eu não tenho nenhuma idéia de como complicado que seria -. Apenas uma idéia)

Ou olhada em como várias ferramentas de CMS lidar com a idéia. Alguns tudo acabou de colocar no banco de dados como um grande bloco de texto, enquanto outros contam com templates, e outros podem fazer algo completamente diferente (como ambientes orientados a objetos tais como Plone ).

Outras dicas

Existem algumas tentativas de fazer isso que eu tenho visto.

Uma maneira de fazer isso é através de redirecionamentos de URL. Você pode implementar um componente lógica no servidor que irá interpretar o que o URL está solicitando ao invés de um caminho para o conteúdo.

Outra tentativa é que os links originalmente definido como um valor de referência [que pode ser pesquisado numa base de dados], e é solicitado no tempo de execução / geração.

Independentemente disso, você terá que fazer referência ao material que você quiser link para com algum tipo de identificador.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top