Dotclear

Vous n'êtes pas identifié(e).

Annonce

13 février 2024 Sortie de Dotclear 2.29

#1 2012-06-15 19:01:44

threep21
Membre
Inscription : 2006-08-14

Insérer une partie de post.html dans category.html

Bonjour à toutes et à tous,

Je souhaiterai créer une galerie où les pages catégories et tags affichent les vignettes des billets-images, et lorsque l'on clique sur ces vignettes, le billet-image vers laquelle elles renvoient apparaisse via jQuery. Voici un exemple plus parlant : http://www.raven-photography.nl/

Pour créer la galerie en vignette aucun problème, mais pour faire apparaître le billet-image sur la même page, je sèche un peu quant à la stratégie à adopter. En vérité je ne suis pas certain que le moteur de dotclear puisse le permettre.

Auriez-vous une idée sur la façon de réaliser la chose ?

Merci d'avance pour vos réponses.

Hors ligne

#2 2012-06-15 19:35:42

Jean-Michel
Modérateur à ailes d'ange
Lieu : Paris
Inscription : 2006-08-22
Site Web

Re : Insérer une partie de post.html dans category.html

Bonsoir,

Si c'est possible, j'avais déjà testé ce genre de chose. Par contre, cela date un peu (2 ans) donc je ne me souviens plus de comment ai-je fait.

Hors ligne

#3 2012-06-18 08:05:03

annso
Responsable de la machine à Twix
Lieu : Lyon
Inscription : 2006-03-05
Site Web

Re : Insérer une partie de post.html dans category.html

Hello,

C'est faisable de plusieurs manières différentes, mais il faut au minimum des connaissances en javascript et Ajax, et possiblement des connaissances en PHP.
L'idée est de charger la page du billet en Ajax.
- Soit tu récupère la page du billet entier, et dans ce cas, il faut un peu modifier la réponse avant de l'afficher (tu ne veux pas tout le contenu de la page, juste le contenu du billet)
- Soit tu utilises un plugin comme dotAjax pour récupérer uniquement les infos qui t'intéressent (le contenu du billet, les commentaires... ?), il faut ensuite les mettre en forme.
- Soit tu étends le plugin dotAjax pour renvoyer exactement la réponse qui te convient.

Hors ligne

#4 2012-06-18 13:55:26

threep21
Membre
Inscription : 2006-08-14

Re : Insérer une partie de post.html dans category.html

Merci pour vos réponses et merci Annso de ton aide toujours précieuse. Je sais aujourd'hui que c'est possible, mais pas dans mes compétences ^^. Il va falloir que je trouve une parade.

Hors ligne

#5 2012-06-18 15:03:25

annso
Responsable de la machine à Twix
Lieu : Lyon
Inscription : 2006-03-05
Site Web

Re : Insérer une partie de post.html dans category.html

Une alternative, peut être plus simple à réaliser, mais qui peut vite rendre la page d'accueil très lourde est d'avoir déjà le contenu de tous les billets sur la page, mais de les afficher/cacher à la demande. Envisageable sur du texte, mais franchement pas recommandé pour des galeries d'images.

Hors ligne

#6 2012-06-18 16:10:03

threep21
Membre
Inscription : 2006-08-14

Re : Insérer une partie de post.html dans category.html

Oui c'est une solution qui sera beaucoup trop lourde pour être envisageable. En fait j'avais espéré qu'il y aurait eu une façon moderne de faire ce que l'on faisait autrefois avec les cadres HTML. Je vais tout de même essayer de faire quelques tutoriels AJAX pour voir si ça m'est accessible.

Hors ligne

#7 2012-06-18 19:37:41

annso
Responsable de la machine à Twix
Lieu : Lyon
Inscription : 2006-03-05
Site Web

Re : Insérer une partie de post.html dans category.html

Voici une fonction en jQuery qui permet de récupérer le contenu d'un article en Ajax et de l'ajouter à la div #post-holder :

<div id="post-holder>
    <h3>Titre de l'article</h3>
    <div class="post-content>Contenu</div>
</div>

C'est seulement un exemple, mais ça peut t'inspirer.

Tu auras besoin du plugin dotAjax (ici une doc: http://www.morefnu.org/post/2008/10/08/Plugin-dotAjax et ici la liste des services et paramètres existants http://www.morefnu.org/pages/dotAjax-service-blog)

function loadPost(post_id) {
    $.ajax({
      url: "http://www.monblog.fr/rest/blog",
      data: {
	f: "getPosts",
	post_id: post_id
      },
      success: function(response) {
	// en cas de succès, lecture de la réponse
	posts = $.parseJSON(response).data;
	post = posts[0];

	// Formatage de la réponse 
        title = $("<h3/>").append(post.title);
        content = $("<div/>").attr("class", "post-content").append(post.content);
	
        // Vider la div du précédent article qu'elle contenait
        $("#post-holder").empty();

        // Ajout du contenu à la div 
        $("#post-holder").append(title);
        $("#post-holder").append(content);

      },
      datatype: "json"
    });  
  };

Hors ligne

#8 2012-06-19 16:16:18

threep21
Membre
Inscription : 2006-08-14

Re : Insérer une partie de post.html dans category.html

Merci beaucoup pour ton aide Annso, je vais me pencher la dessus cette semaine et voir si j'arrive à le transformer. Ça me fait une bonne base comme ça :)

Hors ligne

#9 2012-06-30 12:30:54

threep21
Membre
Inscription : 2006-08-14

Re : Insérer une partie de post.html dans category.html

Je m'y suis essayé, mais je n'ai pas réussi à associer le click du lien vers le billet avec la fonction. Mais en lisant la documentation j'ai vu que pour l'instant le plugin MyMeta n'était pas supporté. Alors pour l'instant je vais mettre cette idée en pause et je reviendrai dessus plus tard. Maintenant je sais vers quoi m'orienter, merci encore de ton aide.

Hors ligne

Vous n'êtes pas identifié(e).

Pied de page des forums

Sites map