Domanda

Sto cercando una strategia per la gestione dei collegamenti all'interno degli articoli. Il corpo dell'articolo viene salvato in un database e estratto durante l'assemblaggio della pagina. Cosa dovrebbe essere salvato nel database per definire e gestire facilmente i collegamenti?

Alcuni puristi ritengono che il markup non debba MAI essere archiviato nel database. Alcuni credono che vada bene con moderazione. Ma per me, l'idea di un collegamento è quasi inseparabile dal suo markup html.

Esiste un modo migliore e più conciso di rappresentare un collegamento in un articolo (in un database) che semplicemente incorporare " anchor text " ;?

Un'idea che ho preso in considerazione riguarda l'incorporamento del markup sufficiente per descrivere semanticamente le aree di interesse e, in una tabella diversa, associare tali nozioni agli URL reali. Tutti gli incontri di una particolare nozione vengono racchiusi nel collegamento.

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

Una tabella potrebbe quindi associare l'URL dell'articolo e la classe chiave di "web semantico" a un URL come 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>

Le cose che mi piacciono di questo approccio sono che tutti i miei URL si trovano in un'unica posizione nel database. Potrei tecnicamente modificare o rimuovere i collegamenti senza toccare il corpo dell'articolo. Ho dei nomi di classe molto buoni per i CSS.

Non mi piace avere un'altra tabella da mantenere e un altro passo / fase nel tempo di rendering. Potrebbe rallentare i tempi di risposta.

Ci sono altre strategie là fuori che forniscono una gestione dei collegamenti superiore?

È stato utile?

Soluzione

Potresti voler esaminare il modello (come Smarty per PHP).

Sono d'accordo che il markup non dovrebbe normalmente essere conservato nel database.

Tuttavia, potresti anche prendere in considerazione l'implementazione di un " pointer " concetto, in cui a ogni collegamento, si interrompe la memoria della pagina, si aggiunge un puntatore nella tabella al collegamento, quindi un puntatore nella tabella dei collegamenti al successivo segmento di contenuto della pagina. (Non ho idea di quanto sarebbe complicato - solo un'idea.)

Oppure guarda come i vari strumenti CMS gestiscono l'idea. Alcuni mettono semplicemente tutto nel database come un grande blocco di testo, mentre altri si basano sul modello, mentre altri possono fare qualcosa di completamente diverso (come ambienti orientati agli oggetti come Plone ).

Altri suggerimenti

Ci sono alcuni tentativi per farlo che ho visto.

Un modo per farlo è attraverso i reindirizzamenti URL. È possibile implementare un componente logico sul server che interpreterà ciò che l'URL richiede piuttosto che un percorso al contenuto.

Un altro tentativo è che i collegamenti siano originariamente impostati su un valore di riferimento [che può essere cercato in un database], e viene richiesto in fase di esecuzione / generazione.

Indipendentemente da ciò, dovrai fare riferimento al materiale che desideri collegare con una sorta di identificatore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top