Dotclear

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

Annonce

#1 2010-05-11 06:34:37

Dsls
Modérateur couteau-suisse
Inscription : 2004-11-18
Site Web

[Brainstorming thèmes] Réflexions sur la refonte des templates

Bonjour,

Comme indiqué dans le dernier billet du blog dotclear, nous sommes en train de réfléchir à la refonte du système de templates de dotclear.

Ce message a pour but d'initier une présentation des évolutions à l'étude, afin d'en discuter . Les discussions sur ce sujet seront préfixées par [Brainstorming thèmes]

Le but recherché

Les principaux axes à explorer sont :
* La simplification des thèmes : réduire le nombre de fichiers d'un thème, limiter les redondances entre ces fichiers
* une simplification de leur personnalisation
* L'ajout éventuel d'un nouveau mode "super home". Le mode home actuel étant fréquemment associé à la liste des derniers billets
* Une amélioration des pages invitées des plugins, évitant d'avoir à adapter ces pages dans le cas d'un nouveau thème

Le nouveau système de templates devra bien sûr supporter la structure actuelle des thèmes

Le but ultime serait de n'avoir plus que 2 fichiers de templates principaux : list.html et post.html, l'un décrivant une liste de billet (actuellement home.html, category.html, tag.html, ...), l'autre décrivant un billet (le post.html actuel)

Solution à l'étude : la balise tpl:Block

Si on regarde de près les fichiers home.html, category.html, tag.html, search.html, ..., on se rend compte qu'ils diffèrent très peu :
* Par les <link> dans le <head>
* Par le titre de la page
* Par le titre de la section (Affichage de "Catégorie : <nomcat>", de "Tag: <nomtag>")

L'idée serait de proposer, via la page list.html, un squelette de template, dans lequel on identifie des blocs fonctionnels, tels que "la partie <head> de la page", le "titre de la liste de billets", le "titre d'un billet dans une liste", ...
C'est là qu'interviendrait la nouvelle balise "tpl:Block".

Exemple de list.html (notez que c'est un copier-coller de l'actuel home.html, avec des balises <tpl:Block> en plus) :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{{tpl:BlogLanguage}}" lang="{{tpl:BlogLanguage}}">
<head>
[...]  
  <title><tpl:Block name="page-title">{{tpl:BlogName encode_html="1"}}<tpl:PaginationIf start="0"> - {{tpl:lang page}} {{tpl:PaginationCurrent}}</tpl:PaginationIf></tpl:Block></title>
[...]
  <tpl:Block name="page-header">
    <tpl:Entries no_content="1">
    <tpl:EntriesHeader>
      <tpl:Pagination>
        <tpl:PaginationIf end="0">
        <link rel="prev" title="{{tpl:lang previous entries}}" href="{{tpl:PaginationURL offset="1"}}" />
        </tpl:PaginationIf>
        
        <tpl:PaginationIf start="0">
        <link rel="next" title="{{tpl:lang next entries}}" href="{{tpl:PaginationURL offset="-1"}}" />
        </tpl:PaginationIf>
      </tpl:Pagination>
    </tpl:EntriesHeader>
    
    <link rel="chapter" href="{{tpl:EntryURL}}" title="{{tpl:EntryTitle encode_html="1"}}" />
  </tpl:Entries>
  </tpl:Block>
[...]
</head>
<body>
<div id="page">
{{tpl:include src="_top.html"}}

<div id="wrapper">

<div id="main">
  <div id="content">
	<tpl:Block name="page-content">
  <div id="content-info">
	<tpl:Block name="list-title"><h2> {{tpl:lang Entries}} </h2></tpl:Block>
  </div>
  <tpl:Block name="list-header"> 
  </tpl:Block>
  
  <tpl:Entries>
    <div id="p{{tpl:EntryID}}" class="post {{tpl:EntryIfOdd}} {{tpl:EntryIfFirst}}" lang="{{tpl:EntryLang}}" xml:lang="{{tpl:EntryLang}}">
	<tpl:Block name="post-header">
    <!-- # New day date -->
    <tpl:DateHeader><p class="day-date">{{tpl:EntryDate}}</p></tpl:DateHeader>
	</tpl:Block>
    
    <h2 class="post-title"><a
    href="{{tpl:EntryURL}}">{{tpl:EntryTitle encode_html="1"}}</a></h2>
	<tpl:Block name="post-info">
    <p class="post-info">{{tpl:lang By}} {{tpl:EntryAuthorLink}}
    {{tpl:lang on}} {{tpl:EntryDate}}, {{tpl:EntryTime}}
    <tpl:EntryIf has_category="1">
    - <a href="{{tpl:EntryCategoryURL}}">{{tpl:EntryCategory encode_html="1"}}</a>
    </tpl:EntryIf>
	</p>
	</tpl:Block>

</body>
</html>

En comportement nominal, <tpl:Block> retourne son contenu. Si en revanche, il trouve un fichier template du type _<contexte>.<nomblock>.html,
c'est le contenu de ce fichier qui est interprété.
Exemple : si on affiche une catégorie, le contexte est "category". Si on a un fichier _category.list-title.html, le contenu du bloc "list-title" sera remplacé par le contenu du fichier en question.
Pour faire comme dans category.html actuellement, il suffit alors de mettre ce contenu dans _category.list-title.html :

<h2><tpl:CategoryParents><a href="{{tpl:CategoryURL}}">{{tpl:CategoryTitle encode_html="1"}}</a> › </tpl:CategoryParents>
{{tpl:CategoryTitle encode_html="1"}}</h2>
{{tpl:CategoryDescription}}

<tpl:CategoryIf has_entries="1">
  <p><a type="application/atom+xml" href="{{tpl:CategoryFeedURL type="atom"}}"
  title="{{tpl:lang This category's entries Atom feed}}" class="feed">{{tpl:lang Entries feed}}</a>
  
  <tpl:SysIf operator="or" comments_active="1" pings_active="1">
  - <a type="application/atom+xml" href="{{tpl:CategoryFeedURL type="atom"}}/comments"
  title="{{tpl:lang This category's comments Atom feed}}" class="feed">{{tpl:lang Comments feed}}</a>
  </tpl:SysIf>
  </p>
</tpl:CategoryIf>

La première remarque qui vous vient alors est : "ça ne diminue pas le nombre de fichiers, au contraire !". La réponse est "oui mais" : il faut bien renseigner quelque part la spécificité d'une page.
Cela peut être fait en dur dans le code, mais on perd toute flexibilité, autant le mettre dans un fichier de template.
Ensuite, les thèmes ne sont pas obligés d'embarquer ces fichiers. Il existe un répertoire indépendant des thèmes où on peut les mettre : inc/public/default-templates.
Le thème peut les réutiliser, ou définir les siens. Un thème peut même uniquement fournir ces fichiers...

Les plus pour les plugins, exemple : Pages. Le plugin Pages n'a plus à fournir une page complète de template, il lui suffit de fournir les bouts de page qu'il personnalise

Quid de la compatibilité avec les anciens thèmes ? Techniquement, le gestionnaire d'URL va fonctionner de la manière suivante :
1. Si le fichier du thème "ancienne version" existe (category.html, tag.html, home.html) existe, alors il interprète celui-là
2. Sinon, il interprète list.html (post.html pour un billet)


Une autre piste explorée, plutôt que d'avoir plusieurs fichiers pour un contexte donné, serait d'adapter les fichiers spécifiques (toujours dans inc/public/default-templates).

Exemple pour category.html :

<tpl:DefineBlock name="list-title">
</tpl:DefineBlock>

<tpl:DefineBlock name="">
[...]
</tpl:DefineBlock>

{{tpl:InheritTemplate name="list.html"}}

Ici, on regroupe toutes les redéfinitions à un seul endroit, et on "hérite" du fichier list.html.

Je ne suis volontairement pas entré en détail dans le code à mettre en oeuvre, au risque de perdre du monde. Maintenant, si des gens veulent un aspect plus "klingon" de la chose, on peut ouvrir un autre fil :)

N'hésitez pas à poster toutes vos remarques sur ces concepts...


Dyslexics have more fnu!

Hors ligne

#2 2010-05-11 07:41:58

zeiram
Membre
Inscription : 2004-06-27
Site Web

Re : [Brainstorming thèmes] Réflexions sur la refonte des templates

J'aime bien le principe (d'autant plus qu'au vu de la gueule de mes fichiers de template, cela me simplifiera grandement la vie...)

A priori, j'ai tendance à penser que la deuxième variante sera plus simple à appréhender pour les utilisateurs lambda (car il devient difficile de trouver le fichier que l'on veut parmi X dizaines de fichier portant des noms très proches). Mais cela se fait au détriment d'une rétro-compatibilité simple à implémenter... (car il ne suffit plus de savoir si le fichier category.html est présent mais qu'il faut aller voir son contenu avant de pouvoir décider si on est sur un thème nouvelle mode ou ancienne mode).

Un compromis qu'il me semblerait judicieux d'étudier : avoir des dossiers par contexte, chaque dossier contenant ensuite les définitions de blocs (donc <contexte>/<nomblock>.html). Mais je ne suis pas sûr que cela rende réellement les choses moins compliquées...


« Y a des jours où faut pas m'chercher !! Et y a des jours tous les jours ! »

Hors ligne

#3 2010-05-11 07:55:47

Dsls
Modérateur couteau-suisse
Inscription : 2004-11-18
Site Web

Re : [Brainstorming thèmes] Réflexions sur la refonte des templates

zeiram a écrit :

(car il ne suffit plus de savoir si le fichier category.html est présent mais qu'il faut aller voir son contenu avant de pouvoir décider si on est sur un thème nouvelle mode ou ancienne mode)

Ce n'est même pas un souci, s'il est présent, on le traite, point barre. On se fiche de savoir s'il est à l'ancienne sauce ou à la nouvelle, vu qu'il est interprété :)


Dyslexics have more fnu!

Hors ligne

#4 2010-05-11 21:20:07

JcDenis
Membre
Lieu : Lyon, France
Inscription : 2007-08-31
Site Web

Re : [Brainstorming thèmes] Réflexions sur la refonte des templates

Pour les plugins je voyais plutôt les templates sous forme de standard par exemple outre la structure du fichier (post.html ou list.html) je verrais plutôt des valeurs de type {{tpl:common PageTitle}} (au lieu de BlogName, CategoryName, etc...) que chaque plugin remplacerait dans sa propre classe héritée de dcTemplate (ou autre). La page de template serait alors unique. (hors exceptions forcées)
Je sais pas si vous me suivez?

Autre remarque, j'aimerai bien passer à une écriture plus "xml compliant" (même si ca casse la compatibilité) ex: <tpl type="common" value="PageTitle" encode_html="1" />
Vous me suivez toujours ?


Cordialement,
_JC | Intérimaire | En mode invisible

Hors ligne

#5 2010-05-12 07:46:30

Dsls
Modérateur couteau-suisse
Inscription : 2004-11-18
Site Web

Re : [Brainstorming thèmes] Réflexions sur la refonte des templates

JcDenis a écrit :

Pour les plugins je voyais plutôt les templates sous forme de standard par exemple outre la structure du fichier (post.html ou list.html) je verrais plutôt des valeurs de type {{tpl:common PageTitle}} (au lieu de BlogName, CategoryName, etc...) que chaque plugin remplacerait dans sa propre classe héritée de dcTemplate (ou autre). La page de template serait alors unique. (hors exceptions forcées)
Je sais pas si vous me suivez?

Si je comprends bien, tu souhaites définir des balises que chaque plugin remplirait "en dur" ? Je n'y suis pas forcément favorable. Exemple avec le titre d'une page : actuellement le <title> du home est :

{{tpl:BlogName encode_html="1"}}<tpl:PaginationIf start="0"> - {{tpl:lang page}} {{tpl:PaginationCurrent}}</tpl:PaginationIf>

et pas seulement un simple texte. Le fait de poser des valeurs en dur restreint les possibilités. Dans le scénario proposé, le plugin propose une page héritant de list.html par exemple, et redéfinissant le bloc page-title. Comme on est dans un template, il peut y mettre ce qu'il veut, et surtout, c'est configurable et modifiable à souhait sans toucher au code php...

Autre remarque, j'aimerai bien passer à une écriture plus "xml compliant" (même si ca casse la compatibilité) ex: <tpl type="common" value="PageTitle" encode_html="1" />
Vous me suivez toujours ?

L'exigence première est quand même de rester compatible avec les anciens thèmes :)
Cela dit, la remarque n'est pas dénuée de sens : aujourd'hui on ne peut pas spécifier son propre moteur de templates, sans intervenir sur le core. J'ai fait quelques tests avec un moteur de thèmes basé sur Twig à une époque, il faudrait voir comment permettre au core d'avoir un moteur de template additionnel, sans tout casser :)

--
Bruno


Dyslexics have more fnu!

Hors ligne

#6 2010-05-12 09:08:55

JcDenis
Membre
Lieu : Lyon, France
Inscription : 2007-08-31
Site Web

Re : [Brainstorming thèmes] Réflexions sur la refonte des templates

Dsls a écrit :

L'exigence première est quand même de rester compatible avec les anciens thèmes :)
Cela dit, la remarque n'est pas dénuée de sens : aujourd'hui on ne peut pas spécifier son propre moteur de templates, sans intervenir sur le core. J'ai fait quelques tests avec un moteur de thèmes basé sur Twig à une époque, il faudrait voir comment permettre au core d'avoir un moteur de template additionnel, sans tout casser :)

Et du coup les plugins ne pourraient plus fournit de pages additionnelles pour ceux qu'en auraient...


Cordialement,
_JC | Intérimaire | En mode invisible

Hors ligne

#7 2010-05-12 09:36:32

zeiram
Membre
Inscription : 2004-06-27
Site Web

Re : [Brainstorming thèmes] Réflexions sur la refonte des templates

JcDenis a écrit :
Dsls a écrit :

Cela dit, la remarque n'est pas dénuée de sens : aujourd'hui on ne peut pas spécifier son propre moteur de templates, sans intervenir sur le core. J'ai fait quelques tests avec un moteur de thèmes basé sur Twig à une époque, il faudrait voir comment permettre au core d'avoir un moteur de template additionnel, sans tout casser :)

Et du coup les plugins ne pourraient plus fournit de pages additionnelles pour ceux qu'en auraient...

D'un autre côté, si un super-admin décide de changer de moteur de template, c'est qu'il doit savoir ce qu'il fait... ça me paraît donc logique que ce soit à lui d'assumer la mise en place des templates spécifiques kivonbien pour les plugins qu'il a installés sur sa plateforme (vu qu'il est également le seul à pouvoir installer des plugins).


« Y a des jours où faut pas m'chercher !! Et y a des jours tous les jours ! »

Hors ligne

#8 2010-05-12 13:15:13

Moe
Responsable du mini-bar
Lieu : France
Inscription : 2004-09-19
Site Web

Re : [Brainstorming thèmes] Réflexions sur la refonte des templates

Je ne comprends pas tout mais admettons que je veuille créer une page "Plop". Actuellement je créerais une page plop.html où le titre serait {{tpl:lang Plop}}. Comment ferais-je la même chose avec ce nouveau système ?

Hors ligne

#9 2010-05-12 15:15:41

Dsls
Modérateur couteau-suisse
Inscription : 2004-11-18
Site Web

Re : [Brainstorming thèmes] Réflexions sur la refonte des templates

Moe: ça dépend de ce que tu souhaites faire : si tu veux faire une page qui affiche une liste, juste en modifiant le titre, il peut suffire de faire un fichier du type :

{{tpl:InheritFrom template="list.html"}}
<tpl:DefineBlock name="page-title">Plop!</tpl:DefineBlock>

Dyslexics have more fnu!

Hors ligne

#10 2010-05-12 15:23:34

Dsls
Modérateur couteau-suisse
Inscription : 2004-11-18
Site Web

Re : [Brainstorming thèmes] Réflexions sur la refonte des templates

Bon ... j'ai tenté quelques tests sur une adaptation du thème blowup. Il s'agit d'un thème installable sur une 2.2alpha qui reprend le concept ci-dessus (cas 2). Il est disponible ici.

A noter : il paraît très complexe en l'état, mais 1/ c'est plus un proof of concept qu'un vrai thème 2/Les fichiers autres que theme.html, list.html et single.html sont à placer dans inc/public/default-templates par exemple. 3/ Ils contiennent essentiellement la section <head> de la page, le reste est minime

Et j'ai poussé le bouchon un peu plus loin : un fichier template peut "hériter" d'un fichier qui lui-même hérite d'un autre.

Dans les faits :
* theme.html définit le cadre du thème (top, head, emplacement du contenu, sidebar)
* list.html et single.html héritent de theme.html et définit uniquement l'emplacement du contenu
* tag.html, archive_month.html, category.html héritent de list.html

De plus, DefineBlock permet de redéfinir un bloc déjà défini dans un thème hérité. On peut alors lui spécifier le mode de redéfinition (attribut "mode") :
* "replace" (par défaut) : remplace le bloc hérité
* "append" (resp. prepend) : ajoute le contenu à la fin (resp. au début) du bloc hérité
* "embed" : ajoute bloc hérité dans le bloc (remplacement de la chaîne "%%content%%" par le bloc hérité
* "delete": efface le bloc hérité (permet de tester si un bloc est effacé via tpl:BlockIfSet)


Dyslexics have more fnu!

Hors ligne

#11 2010-05-12 16:41:06

BG
Membre
Lieu : 17
Inscription : 2005-05-11
Site Web

Re : [Brainstorming thèmes] Réflexions sur la refonte des templates

Dsls a écrit :

Bon ... j'ai tenté quelques tests sur une adaptation du thème blowup. Il s'agit d'un thème installable sur une 2.2alpha qui reprend le concept ci-dessus (cas 2). Il est disponible ici.

Je vais regarder ça pour me faire une idée, merci en tout cas de faire profiter tout le monde de cette discussion ! :)


Installer votre premier blog : http://abc.dotaddict.org
Documentation Dotclear2:    http://fr.dotclear.org/documentation/2.0/
Astuces (Tips), Plugins, Thèmes: http://dotaddict.org/

Hors ligne

#12 2010-05-14 11:17:14

Dsls
Modérateur couteau-suisse
Inscription : 2004-11-18
Site Web

Re : [Brainstorming thèmes] Réflexions sur la refonte des templates

Nouvelle version du thème ici (v1.1)

J'ai volontairement déplacé certains fichiers (les <head> des pages) dans un répertoire secondaire (defaults/, à coté de tpl/), pour ne pas effrayer :)

Pour exemple, j'ai mis le page.html du plugin pages, tel qu'il serait dans le nouveau modèle : en gros, il hérite de post.html, et on désactive les commentaires.
Il suffit ensuite d'hériter de la bonne page :
* theme.html pour toutes les pages n'affichant pas un "post" à proprement parler (contact, par exemple)
* list.html pour toutes les pages affichant une liste de posts
* post.html pour toutes les pages affichant un post.


Dyslexics have more fnu!

Hors ligne

#13 2010-05-22 13:32:48

JcDenis
Membre
Lieu : Lyon, France
Inscription : 2007-08-31
Site Web

Re : [Brainstorming thèmes] Réflexions sur la refonte des templates

Je commence à creuser un peu la création de thème et effectivement la structure suivant 2 fichiers principaux qui sont post.html et list.html serait vraiment une très bonne chose!


Cordialement,
_JC | Intérimaire | En mode invisible

Hors ligne

#14 2010-05-22 15:15:27

Aeness
Membre
Inscription : 2008-02-11
Site Web

Re : [Brainstorming thèmes] Réflexions sur la refonte des templates

Dsls a écrit :

* Une amélioration des pages invitées des plugins, évitant d'avoir à adapter ces pages dans le cas d'un nouveau thème

(pages invitées = pages ajoutées par le plug-in ? )

C'est exactement le pb que je rencontre, je me sens donc très concernée. Je viens de découvrir le post donc je rentre dedans doucement.

L'impression que j'ai, c'est qu'un des buts est de trouver un système qui permette facilement de remplacer un bout de la page par ce que le plugin voudrait, comme par exemple remplacer la liste des billets par <ce que le plug-in veut proposer>.  Le thème proposerait une structure et les plug-in ne ferait que l'utiliser pour y mettre leurs donnés.
Ainsi au lieu de creer un nouveau template complet à la portabilité aléatoire, il suffirait de rajouter un fichier <mon_context>.<nom_du_bloc_a_rempacer>.html

J'adore cette idée !

Une petite question pour voir comment ca se passerai, j'ai un peu cherché mais pas réussi à identifier, qu'est ce qui défini le contexte ?
Posé autrement, qu'est ce qui fait que $core->url->type vaut 'toto' ? L'initialisation avec $core->url->register ?

Je vais de suite regardé le thème V1.1.

Hors ligne

#15 2010-05-22 16:04:16

Aeness
Membre
Inscription : 2008-02-11
Site Web

Re : [Brainstorming thèmes] Réflexions sur la refonte des templates

Maintenant que j'ai regardé d'un peu plus près, je me permets de donner mon avis et forcément de critiquer :s

Si j'ai bien compris, le fonctionnement marche plutôt par redéfinition/réécriture des parties que l'on veut modifier (donc la 2eme piste).
Je trouve que cette manière de fonctionner ressemble beaucoup à l'héritage (d'ailleurs c'est le mot utilisé ^^).
Même si l'héritage est une notion qui existe avec les css (mais pas tout à fait de la même manière à mon sens) mais je la trouve surtout appropriée à des développeurs et moins à des web designers qui fonctionnent plus avec des includes.

Pour cela que la première piste me semble plus accessible à ceux qui vont faire le thème. Bon après je suis pas Web Designer.

Aeness

Hors ligne

#16 2010-05-30 20:22:23

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

Re : [Brainstorming thèmes] Réflexions sur la refonte des templates

Bonsoir,

Je ne suis pas sûr d'avoir tout assimilé (il n'en reste que je suis d'accord avec la description) mais voici quelques remarques (peut-être HS) sur les templates actuellement :

Généralités
- je me suis toujours demandé pourquoi le tag affichant la description du blog n'était pas incorporé par défaut ?
- pour les pages dites invitées (pour les plugins ayant besoin d'un template), ne serait-ce pas plus évident (réflexion de ma part) pour le thème d'avoir un template générique ?

Template "Archive" :
- ça serait bien de mettre un conteneur "globeur" pour chaque année (et déroulant la liste des mois), si je décide de le présenter en plusieurs colonnes, ça oblige à toucher au fichier archive.html. Je pense que ça mange pas de pain de le mettre par défaut.
- ne pourrait-on pas donner une option afin de permettre la fusion de archive et archive_month. Parfois ça représente peu d'intérêts d'avoir le listing année par année, c'est plus pratique de faire afficher toute la liste des billets année > mois, année > mois, ...

Sidebar
- il est actuellement pas possible de faire une règle générale CSS permettant de pouvoir différencier le haut et le bas de la #sidebar div div, dans le cas d'un thème joliment illustré. Il faut inscrire le widget en dur.
- tu l'as déjà évoqué, donner la possibilité dans l'administration de rajouter des conteneurs supplémentaires (#blognav, #blogextra) mais cela est à mettre dans la refonte "ergo" ?.

C'est tout pour le moment ;)

Hors ligne

#17 2010-06-02 13:31:20

Lomalarch
Responsable du photocopieur
Lieu : Colombes (92)
Inscription : 2006-05-02
Site Web

Re : [Brainstorming thèmes] Réflexions sur la refonte des templates

Jean-Michel a écrit :

Généralités
- je me suis toujours demandé pourquoi le tag affichant la description du blog n'était pas incorporé par défaut ?

il est présent dans la balise <meta /> de description dans l’entête du blog – raison pour laquelle on ne peut pas y mettre de html. Il est vrai qu’une remise à plat de cette balise pourrait être intéressante.

Jean-Michel a écrit :

- pour les pages dites invitées (pour les plugins ayant besoin d'un template), ne serait-ce pas plus évident (réflexion de ma part) pour le thème d'avoir un template générique ?

C’est un des objets de cette refonte, de ce que j’en ai compris, de sortir du casse-tête des templates de plugins en leur permettant d’intégrer leur données sans concevoir une page complète ;-)

Jean-Michel a écrit :

Template "Archive" :
- ça serait bien de mettre un conteneur "globeur" pour chaque année (et déroulant la liste des mois), si je décide de le présenter en plusieurs colonnes, ça oblige à toucher au fichier archive.html. Je pense que ça mange pas de pain de le mettre par défaut.
- ne pourrait-on pas donner une option afin de permettre la fusion de archive et archive_month. Parfois ça représente peu d'intérêts d'avoir le listing année par année, c'est plus pratique de faire afficher toute la liste des billets année > mois, année > mois, ...

Ce n’est pas tant la structure xhtml des templates par défaut qui est en cause ici que la façon dont on articule les données dans les templates (et dont on réduit le nombre de fichiers fournis par le thème par défaut).

Tu penses (et c’est bien normal) graphisme alors que le sujet roule plus sur la mécanique, si tu veux mon avis ;-)


RTFM attitude : https://fr.dotclear.org/documentation/2.0
Le chantier tips, tutos et astuces : http://tips.dotaddict.org/
Rien nulle part??? une petite recherche sul’ forum, alors?: https://forum.dotclear.org/search.php ?

Hors ligne

#18 2010-06-02 14:13:26

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

Re : [Brainstorming thèmes] Réflexions sur la refonte des templates

Lomalarch a écrit :

C’est un des objets de cette refonte, de ce que j’en ai compris, de sortir du casse-tête des templates de plugins en leur permettant d’intégrer leur données sans concevoir une page complète ;-)

Désolé, j'ai oublié de finir ma phrase, c'est pourquoi pas créer un seul fichier template plugin.html ?

Lomalarch a écrit :

Tu penses (et c’est bien normal) graphisme alors que le sujet roule plus sur la mécanique, si tu veux mon avis ;-)

Désolé, dans ce cas-là, je déplace mes réflexions sur un autre sujet pour ne pas polluer celle-ci ? (j'ai aussi d'autres idées sur le sujet)

Hors ligne

#19 2010-06-02 14:26:58

Dsls
Modérateur couteau-suisse
Inscription : 2004-11-18
Site Web

Re : [Brainstorming thèmes] Réflexions sur la refonte des templates

Jean-Michel a écrit :

Désolé, j'ai oublié de finir ma phrase, c'est pourquoi pas créer un seul fichier template plugin.html ?

Selon les plugins, on a différents besoins de templates :
* Affichage d'une liste d'entrées (ex : gallery, agora, ...)
* Affichage d'une entrée seule (ex: les mêmes)
* Affichage uniquement du décor (ex: contactMe).

Difficile de faire un template polyvalent. L'approche telle qu'elle est décrite ici permet aux plugins de choisir de quel template ils héritent...


Dyslexics have more fnu!

Hors ligne

#20 2011-06-09 08:09:58

Dsls
Modérateur couteau-suisse
Inscription : 2004-11-18
Site Web

Re : [Brainstorming thèmes] Réflexions sur la refonte des templates

(Ceci est un up déguisé pour remettre le sujet sur le tapis)

Si vous avez des remarques/questions complémentaires...


Dyslexics have more fnu!

Hors ligne

#21 2011-06-10 06:36:08

Dsls
Modérateur couteau-suisse
Inscription : 2004-11-18
Site Web

Re : [Brainstorming thèmes] Réflexions sur la refonte des templates

La version 1.2 du thème est compatible dc 2.3, sans modification du core.


Dyslexics have more fnu!

Hors ligne

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

Pied de page des forums

Sites map