Vous n'êtes pas identifié(e).
13 février 2024 Sortie de Dotclear 2.29
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
Ma Vcard : http://www.guillaumebizet.fr
Mon cv : http://cv.guillaumebizet.fr
Mes blogs : http://blog.guillaumebizet.fr - http://www.sitesmobile.fr
Hors ligne
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".
Le B.A.BA : https://abc.dotaddict.org
La doc DC2 : https://fr.dotclear.org/documentation/2.0
Mes extensions : https://www.mirovinben.fr/blog/index.ph … pluginsDC2
Mes marqueurs de template : https://www.mirovinben.fr/blog/index.php?post/id3553
Hors ligne
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>
Le B.A.BA : https://abc.dotaddict.org
La doc DC2 : https://fr.dotclear.org/documentation/2.0
Mes extensions : https://www.mirovinben.fr/blog/index.ph … pluginsDC2
Mes marqueurs de template : https://www.mirovinben.fr/blog/index.php?post/id3553
Hors ligne
Ah et il n'y a pas la possibilité de copier les fichiers de flux dans le thème courant pour les personnaliser ?
Ma Vcard : http://www.guillaumebizet.fr
Mon cv : http://cv.guillaumebizet.fr
Mes blogs : http://blog.guillaumebizet.fr - http://www.sitesmobile.fr
Hors ligne
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.
Le B.A.BA : https://abc.dotaddict.org
La doc DC2 : https://fr.dotclear.org/documentation/2.0
Mes extensions : https://www.mirovinben.fr/blog/index.ph … pluginsDC2
Mes marqueurs de template : https://www.mirovinben.fr/blog/index.php?post/id3553
Hors ligne
Je proposais une démarche plus globale, dépassant le cadre strict des flux RSS/Atom.
C'est bien ce que j'avais noté
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
Ma Vcard : http://www.guillaumebizet.fr
Mon cv : http://cv.guillaumebizet.fr
Mes blogs : http://blog.guillaumebizet.fr - http://www.sitesmobile.fr
Hors ligne
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
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 :)
Ma Vcard : http://www.guillaumebizet.fr
Mon cv : http://cv.guillaumebizet.fr
Mes blogs : http://blog.guillaumebizet.fr - http://www.sitesmobile.fr
Hors ligne
Vous n'êtes pas identifié(e).