Ok,
voici un code de test que tu peux implémenter dans ton fichier theme.tpl pour bien voir ce qui se passe AVANT de passer au chargement de fichier css.
Cela sera plus clair pour toi !
C'est juste pour bien comprendre, il faut l'enlever ensuite.
Ce code est à placer juste après <
div class="container maincontainer" >(ligne 60)
<{if ($xoops_dirname == "xmnews") && ($category_id != '' or $news_cid != '')}>
<h1 <{if $category_color != false}>style="color : <{$category_color}>;"<{/if}>>La rubrique ici est la n° <{$category_id}><{$news_cid}>h1>
<{else}>
<h1>Pas de rubrique icih1>
<{/if}>
Le test sur xmnews permet de s'assurer que les catégories sont bien des catégories du modules xmnews.
En effet, tu pourrais très bien utiliser en plus de xmnews un autre module avec les même nom de variables.
Donc on s'assure que les catégories sont issues du module xmnews.
Ensuite,
Si on est à la racine du module, donc aucune rubrique n'est sélectionnée, donc pas de catégorie, alors on affiche "Pas de rubrique".
On affiche également ce texte si on n'est pas dans ce module (pas index, ou sur tout autres modules"
Enfin, si on est sur une rubrique du module (page index avec sélection d'une catégorie) OU directement sur un article d'une rubrique, alors on affiche le numéro de la rubrique
Ce test test permet de constater que tout fonctionne comme tu le voulais.
Tu peux donc ensuite adapter à ton besoin comme proposé dans mon post précédent,
à placer non plus dans le <
body > mais à placer dans le <
head > :
<{if ($xoops_dirname == "xmnews") && ($category_id != '' or $news_cid != '')}>
<link rel="stylesheet" type="text/css" href="<{xoImgUrl}>css/filecss-cat-<{if $category_id != '')}><{$category_id}><{else}><{$news_cid}><{/if}>.css">
<{/if}>
Ici,
S'il existe une rubrique dans xmnews
Si $category_id existe on utilise la variable $category_id
Sinon on utilise la variable $news_cid
et on charge le fichier css/filecss-cat-"variable résultante du test précédant".css