Dotclear

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

Annonce

13 février 2024 Sortie de Dotclear 2.29

#1 2011-03-21 22:39:16

Guizbizet
Membre
Lieu : Rambouillet
Inscription : 2005-07-19
Site Web

Modifier le flux RSS d'un blog sur une install mutliblog

Bonosir,

Je crois que tout est dans le sujet : je cherche à délivrer un flux rss et atom différent pour un blog en particulier sur une installation multi blog.
Est-ce possible et si oui comment.

merci pour votre aide

Hors ligne

#2 2011-03-22 07:18:25

Mirovinben
M comme Mathusalem
Lieu : Dole (Jura)
Inscription : 2007-02-06
Site Web

Re : Modifier le flux RSS d'un blog sur une install mutliblog

Peut-être passer par le marqueur de template <tpl:SysIf> avec l'attribut "blog_id".
Dans le bloc, tu ajoutes les flux RSS personnalisés. Inconvénient : c'est un ajout et non un remplacement.

J'ai mis en ligne sur mon blog une bidouille qui ajoute un marqueur IfBlogID permettant de créer une liste d'ID de blog à tester. Bidouille que tu peux étoffer pour envisager un "IfNotBlogID".

Hors ligne

#3 2011-03-22 08:45:05

Mirovinben
M comme Mathusalem
Lieu : Dole (Jura)
Inscription : 2007-02-06
Site Web

Re : Modifier le flux RSS d'un blog sur une install mutliblog

Mirovinben a écrit :

J'ai mis en ligne sur mon blog une bidouille qui ajoute un marqueur IfBlogID permettant de créer une liste d'ID de blog à tester. Bidouille que tu peux étoffer pour envisager un "IfNotBlogID".

Ta demande m'a donné envie de modifier ma bidouille pour prendre également en compte le "n'est pas dans la liste" :

A ajouter dans le public.php de ton thème :

$core->tpl->addBlock('IfBlogID',array('tplxxxx','IfBlogID'));

class tplxxxx
{
	public static function IfBlogID($attr,$content)
	{
		$is = isset($attr['is']) ? trim($attr['is']) : '';
		$no = isset($attr['isnot']) ? trim($attr['isnot']) : '';
		if (strlen($is) > 0) {
			$p = '$blogs = explode(\',\',\''.$is.'\'); $blogs = str_replace(\' \',\'\',$blogs); if (in_array($core->blog->id, $blogs)) {';
			return
			'<?php '.$p.' ?>'.
			$content.
			'<?php } ?>';
		} else {
			if (strlen($no) > 0) {
				$p = '$blogs = explode(\',\',\''.$no.'\'); $blogs = str_replace(\' \',\'\',$blogs); if (!(in_array($core->blog->id, $blogs))) {';
				return
				'<?php '.$p.' ?>'.
				$content.
				'<?php } ?>';
			} else {
				return $content;
			}
		}
	}
}

Remarque :  tu peux personnaliser le nom de la classe "tplxxxx"...

Utilisation :

<tpl:IfBlogID is="x,y,z" isnot="a,b,c"> :
    "is" et "isnot" sont des chaînes de caractères pouvant contenir une liste d'ID séparés par des virgules.
    - Si l'ID du blog est présent dans "is", affiche ce qui est placé entre <tpl:IfBlogID> et </tpl:IfBlogID>.
    - Si "is" est absent ou vide et si l'ID du blog est présent dans "isnot", affiche ce qui est placé entre <tpl:IfBlogID> et </tpl:IfBlogID>.
    - Si "is" et "isnot" sont absents ou vides, affiche ce qui est placé entre <tpl:IfBlogID> et </tpl:IfBlogID>.

Remarque : tu noteras l'impossibilité d'avoir dans le même <tpl:IfBlogID> un paramètre "is" et un paramètre "isnot" ("is" est prioritaire). Par contre tu peux déclarer deux blocs successifs :

<tpl:IfBlogID is="xxx">
(appel vers le flux spécial pour le bloc dont l'ID est xxx)
</tlp:IfBlogID>

puis

<tpl:IfBlogID isnot="xxx">
(appel vers le flux classique pour les autres blogs)
</tlp:IfBlogID>

Hors ligne

#4 2011-03-22 09:24:58

Guizbizet
Membre
Lieu : Rambouillet
Inscription : 2005-07-19
Site Web

Re : Modifier le flux RSS d'un blog sur une install mutliblog

Ah et il n'y a pas la possibilité de copier les fichiers de flux dans le thème courant pour les personnaliser ?

Hors ligne

#5 2011-03-22 09:48:24

Mirovinben
M comme Mathusalem
Lieu : Dole (Jura)
Inscription : 2007-02-06
Site Web

Re : Modifier le flux RSS d'un blog sur une install mutliblog

Guizbizet a écrit :

Ah et il n'y a pas la possibilité de copier les fichiers de flux dans le thème courant pour les personnaliser ?

Je proposais une démarche plus globale, dépassant le cadre strict des flux RSS/Atom.

Pour répondre plus précisément à ta question : si, on peut copier les fichiers *.xml présents dans "(dotclear)/inc/public/default-templates" dans un thème pour les personnaliser. Si le blog concerné est le seul à utiliser ce thème, c'est tout bon. Sinon (thème partagé), voir ma proposition.

Hors ligne

#6 2011-03-22 10:12:29

Guizbizet
Membre
Lieu : Rambouillet
Inscription : 2005-07-19
Site Web

Re : Modifier le flux RSS d'un blog sur une install mutliblog

Mirovinben a écrit :

Je proposais une démarche plus globale, dépassant le cadre strict des flux RSS/Atom.

C'est bien ce que j'avais noté

Mirovinben a écrit :

Pour répondre plus précisément à ta question : si, on peut copier les fichiers *.xml présents dans "(dotclear)/inc/public/default-templates" dans un thème pour les personnaliser. Si le blog concerné est le seul à utiliser ce thème, c'est tout bon.

Ok c'est bien ce qui me plait. Il faut les mettre à la racine du thème ou dans le dossier tpl ?
Parce que j'ai fait un test à la racine et cela ne semble pas fonctionner, même après suppression du cache du navigateur et via erasecache

Hors ligne

#7 2011-03-22 10:16:55

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Modifier le flux RSS d'un blog sur une install mutliblog

Les fichiers personnalisés copiés depuis un répertoire default-templates (core ou plugins) sont à déposer dans le répertoire de templates (tpl) du thème ;)

Hors ligne

#8 2011-03-22 11:05:50

Guizbizet
Membre
Lieu : Rambouillet
Inscription : 2005-07-19
Site Web

Re : Modifier le flux RSS d'un blog sur une install mutliblog

amalgame a écrit :

Les fichiers personnalisés copiés depuis un répertoire default-templates (core ou plugins) sont à déposer dans le répertoire de templates (tpl) du thème ;)

Ok merci

merci à tous les deux :)

Hors ligne

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

Pied de page des forums

Sites map