2011-10-27 5 views
0

J'ai un site Web qui contient de nombreux articles de presse. Dans la base de données, chaque article comporte des "tags" que l'utilisateur voit s'afficher à côté de l'article. Lorsque l'utilisateur clique sur le tag, il est dirigé vers une liste d'autres articles contenant également ce tag. Dois-je générer une page HTML distincte pour chaque nouvelle balise créée, ou dois-je créer une seule page et faire varier le contenu en fonction du tag sur lequel l'utilisateur a cliqué en utilisant les variables de session ????tag pages ... variables de session ou de nombreuses pages statiques?

évidemment, les pages ne seront pas complètement statique puisque je les mettre à jour chaque fois qu'un nouvel article avec une étiquette correspondant est téléchargé

+0

Je peux comprendre que les deux méthodes peuvent fonctionner ... Je veux savoir lequel est le plus facile ... – Timtam

Répondre

1

Vous devriez certainement pas utiliser les données de session. C'est pour les données qui doivent persister, mais cela dépend de chaque utilisateur. En l'utilisant pour les données par demande, il suffit d'interrompre les signets et d'introduire des conditions de course.

Vous devez avoir une adresse URI distincte pour chaque étiquette. Peu importe (du point de vue de l'utilisateur final) si vous utilisez du contenu généré dynamiquement (soit via une chaîne de requête, soit en analysant l'URI dans votre code serveur) (la plupart des frameworks, par exemple Dancer) vous utilisez des pages statiques générées. Les pages statiques facilitent la gestion de la mise en cache et améliorent les performances sur les systèmes à très fort trafic, mais nécessitent généralement une reconstruction de grandes parties du site si le contenu change. Vous pouvez obtenir des améliorations de performances similaires en utilisant la mise en cache côté serveur (par exemple, via memcached).

Les pages dynamiques sont généralement plus simples à implémenter.

+0

cela signifie que je devrai générer automatiquement une nouvelle page html chaque fois qu'un nouveau tag est introduit ... je ne sais pas comment faire ça ... des conseils? – Timtam

+0

Vous disposez d'une table d'étiquettes dans votre base de données et d'une table de correspondance plusieurs-à-plusieurs qui mappe les étiquettes aux articles. Ensuite, il vous suffit de faire une boucle sur les tags et de générer une page pour chacun en utilisant la liste des articles que vous obtenez en vous joignant via le pont (triés dans l'ordre de votre choix). Si vous travaillez avec des fichiers statiques, affichez-les dans un fichier. Si vous travaillez dynamiquement, générez juste quand une page d'index de balise est demandée (et 404 si la balise n'est pas dans la BD). – Quentin

+0

Alternativement ... utilisez un CMS existant qui implémente des balises au lieu de créer le vôtre à partir de zéro. – Quentin

0

Je vous suggère de créer une page d'inscription qui contient le titre et une petite description de tous les articles contenant un tag particulier similaire à WordPress.

Par exemple, est ici la liste page pour la balise jQuery:

+0

c'est une bonne idée ... je suis juste préoccupé par la création de ces pages d'étiquettes parce que je vais avoir un très grand nombre de tags ... – Timtam

+0

@Timtam: Oui, vous devriez créer une page de liste dans une fasion similaire, ce sera beaucoup plus facile et sans trop de frais :) – Sarfraz

0

Je voudrais créer une page, puis réécrire l'URL afin qu'elle fait référence à la page de tag de sorte quelque chose comme ça

Tag element == New 

tagpage.aspx 

http://www.yourwebsite.com/New.aspx 

cela vous permet d'avoir une page à mettre à jour le contenu avec, mais permet à chaque page être indexé par Google.com.

Je ne suis pas sûr de ce que la langue que vous utilisez, mais je regarderais jusqu'à la réécriture d'URL

est ici un lien pour la réécriture apache: http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

est ici un lien pour la réécriture en asp.net: http://msdn.microsoft.com/en-us/library/ms972974.aspx

+0

pouvez-vous faire cela en php? – Timtam

+0

@Timtam oui mais je n'ai aucune expérience avec elle donc vous devriez faire quelques recherches sur ce lien voici un lien rapide vers une page sur l'utilisation de .htaccess pour réécrire votre URL basée sur regex etc. http: // corz. org/serv/astuces/htaccess2.php – CBRRacer