Ticket #858 (closed defect: wontfix)
Appeler des fichiers CSS de la même façon que les fichiers template
| Reported by: | Moe | Owned by: | team |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | module:themes | Version: | 2.1 |
| Severity: | normal | Keywords: | |
| Cc: |
Description
Dotclear pourrait avoir une balise pour chercher les fichiers CSS dans le dossier du thème, dans le dossier du thème parent et enfin dans le thème par défaut. L'URL de la première feuille de style trouvée serait renvoyée par la fonction.
Par exemple, si on voudrait le fichier style.css :
<style type="text/css" media="print">
@import url({{tpl:GetCSSFile filename="style.css"}});
</style>
Avec ce code, un thème enfant pourrait remplacer le contenu du fichier style.css du thème parent. Je crois qu'actuellement ce n'est pas possible facilement.
Attachments
Change History
Changed 16 years ago by Moe
-
attachment
_public.php
added
comment:2 Changed 16 years ago by Moe
Cette proposition était intéressante mais n'offrait pas plus de possibilités aux plugins. Il faudrait voir si les fichiers CSS peuvent être appelés avec la même logique que les fichiers template, c'est à dire d'abord dans le répertoire du thème, etc.
comment:3 Changed 15 years ago by xave
- Owner changed from xave to team
- Component changed from module:core to module:themes
comment:4 follow-up: ↓ 5 Changed 15 years ago by Tomtom33
@Moe: C'est quoi la finalité de la chose? Parce si tu adoptes une structure de thèmes "parent-enfant", c'est parce qu'en théorie, le thème enfant dépend beaucoup du thème parent donc de sa structure HTML et CSS. Je vois pas l'utilité de remplacer le style.css du thème parent.
comment:5 in reply to: ↑ 4 ; follow-up: ↓ 8 Changed 15 years ago by noe
@Tomtom33:
En l’état, la css du thème parent n’est pas prise en compte dans le thème enfant (sauf à faire une référence explicite type {{tpl:BlogThemeURL}}/../parent/style.css), du coup, je ne comprends pas ta remarque, Tomtom. Le principe actuel d’un thème enfant c’est de reprendre les fonctions (html, _public.php) du parent dans une css différente :-)
Quant à l’héritage de la css, j’avoue ne pas voir non plus ce que ça apporte précisément. Tu as une idée d’application, Moe ?
comment:6 follow-up: ↓ 7 Changed 15 years ago by Tomtom33
@Noe: Oui et non. Si le thème enfant reprend le _head.html du thème parent, la CSS est normalement inscrite dans ce fichier et est donc reprise.
comment:7 in reply to: ↑ 6 Changed 15 years ago by noe
@Tomtom33: Nope : si le _head.html contient la formule « normale » {{tpl:BlogThemeURL}}/style.css, c’est bien celle du thème en cours et pas celle du parent qui sera appelée (et heureusement, si tous les thèmes sans _head.html récupéraient la css du thème par défaut on serait bien embêtés).
comment:8 in reply to: ↑ 5 Changed 15 years ago by Moe
Replying to noe:
Quant à l’héritage de la css, j’avoue ne pas voir non plus ce que ça apporte précisément. Tu as une idée d’application, Moe ?
Si tu utilises cette balise dans ton thème parent, tu as juste à ajouter un fichier dans ton thème enfant pour qu'il remplace le ficheir du thème parent, sans avoir à toucher aux fichiers template. Par exemple, il suffirait de modifier le fichier print.css (contenu dans le thème par défaut) avec l'éditeur de thème pour que le fichier soit enregistré dans le thème et chargé, comme pour les fichiers template.
comment:11 follow-up: ↓ 12 Changed 13 years ago by franck
- Status changed from new to closed
- Resolution set to wontfix
Ça voudrait dire que tous les thèmes devraient utiliser cette fonction (ou balise) pour la gestion des CSS afin de permettre aux thèmes enfants (y'en a beaucoup au fait dans la nature ?) de les surcharger.
Toujours pas convaincu de l'utilité réelle, surtout voyant qu'il n'existerait, à la sortie d'une release proposant cette balise, aucun thème (potentiel parent) adapté. Du coup aucun thème enfant ne pourrait en profiter. Bref ça renvoie son utilité à un futur que je sens lointain… Pas vous ?
Je ferme et on ré-étudiera la demande si le ticket est rouvert.
comment:12 in reply to: ↑ 11 Changed 13 years ago by zeiram
Replying to franck:
Toujours pas convaincu de l'utilité réelle, surtout voyant qu'il n'existerait, à la sortie d'une release proposant cette balise, aucun thème (potentiel parent) adapté. Du coup aucun thème enfant ne pourrait en profiter. Bref ça renvoie son utilité à un futur que je sens lointain… Pas vous ?
J'y vois un intérêt (mais assez anecdotique, il est vrai) : cela permettrait (si c'est accompagné des behaviours kivonbien) à un greffon comme publicCDN de déporter les fichiers de style vers un CDN. Car en l'état actuel, je ne vois pas comment faire pour que ce greffon puisse prendre en compte les données statiques des thèmes. Mais comme je l'ai indiqué, c'est assez anecdotique comme utilisation.
comment:13 Changed 13 years ago by franck
- Status changed from closed to reopened
- Resolution wontfix deleted
comment:14 Changed 13 years ago by franck
Du coup on offre la possibilité d'inclure n'importe quel fichier présent dans un des répertoires (ou sous-répertoires) en question (le code proposé par Moe n'est pas limité aux CSS).
On ouvre la porte à quoi exactement ?
comment:16 Changed 13 years ago by JcDenis
Perso, j'attendrai la branche Twig ;-)
comment:17 Changed 10 years ago by franck
- Status changed from reopened to closed
- Resolution set to wontfix
- Milestone A definir deleted
Depuis on a la balise {{tpl:BlogParentThemeURL}} qui permet de récupérer la feuille de style du thème parent et comme il n'y a plus de notion de thème par défaut, en tout cas pas de feuille de style par défaut (remplacé par un jeu de template), ce ticket n'est plus d'actualité… sauf pour l'exemple du CDN indiqué par zeiram.
Bref, je ferme.

Un fichier _public.php avec le code