web-dev-qa-db-fra.com

Composant personnalisé avec filtre Ajax et référencement

J'ai commencé le développement de mon premier composant Joomla il y a quelques mois, mais je devais arrêter, car d'autres projets. Maintenant je suis de retour au travail.

Le fait est que mon composant affiche une liste d’éléments, mais j’ai besoin d’ajouter des filtres. Ce sera étonnant si au lieu de charger toute la page, je viens de mettre à jour la liste (il y a d'autres éléments dans la page: menu, pied de page, un carrousel d'images). Je suppose que la réponse est Ajax.

Ma question est la suivante: comment implémenter ce système de filtrage sans affecter le référencement (je sais que Google dit qu’il peut explorer ajax, mais j’ai lu dans de nombreux endroits que la chose la plus sûre est d’avoir deux versions: l’une avec Ajax et l’autre sans Ajax). Dois-je implémenter le rendu de la liste deux fois? Si tel est le cas, le rendu ajax doit renvoyer du code HTML ou quelque chose comme une représentation JSON des éléments à ajouter, puis, avec javascript, insérez ces éléments là où ils devraient être.

Toute aide sera vraiment appréciée.

Merci d'avance

1
TJ is too short

Maintenant que vous pouvez modifier l'URL avec Ajax sans charger la page, vous pourrez obtenir le meilleur des deux mondes!

Vous pouvez demander à votre code Ajax de charger le contenu, et vous pouvez modifier l'URL en fonction du contenu. Par exemple, si votre ajax est en train de charger "Livres", vous pouvez changer l'URL sur yoursite.com/books (ou celle que l'URL devrait être).

Changer l'URL peut être fait avec: window.history.pushState

Bien entendu, vous devrez vous assurer que toute URL que vous transmettez au navigateur est une URL explorable.

1
itoctopus