Dotclear

Ticket #348 (new enhancement)

Opened 13 years ago

Last modified 13 years ago

Appel de la css de gal_simple pour toute intégration

Reported by: noe Owned by: bruno
Priority: normal Component: plugin:gallery
Severity: normal Keywords:
Cc:

Description

À l’heure actuelle, le plugin définit un appel à la css du thème gal_simple pour une intégration de galerie, quel que soit le thème choisi par ailleurs pour cette galerie.

S’il peut être compliqué de charger plusieurs thèmes correspondants à différentes galeries intégrées chacune avec son thème d’intégration, il me paraîtrait toutefois plus logique que la css appelée par le behavior publicHeadContent soit celle du thème définit « par défaut » pour l’intégration dans les paramètres du plugin.

Change History

comment:1 Changed 13 years ago by bruno

  • Type changed from defect to enhancement

Je suis partagé sur cette évolution. Etant donné qu'effectivement, on ne peut pas savoir quels sont les thèmes gallery utilisés dans le head de la page, j'avais opté pour une approche javascript de la chose, par le biais de la balise <tpl:doOnce>. Voir le thème "space gallery" qui exploite cette balise :  http://www.morefnu.org/post/2009/03/09/Nouveau-theme-Space-gallery-pour-gallery Dans l'idée, la css est directement ajoutée au <head> via jquery, par le bout de code suivant dans gallery_item.html :

<tpl:doOnce id="spacegallery">
	<script type="text/javascript" src="{{tpl:BlogURL}}gallerytheme/spacegallery/js/eye.js"></script>
	<script type="text/javascript" src="{{tpl:BlogURL}}gallerytheme/spacegallery/js/utils.js"></script>
	<script type="text/javascript" src="{{tpl:BlogURL}}gallerytheme/spacegallery/js/spacegallery.js"></script>
	<script type="text/javascript">
	//<![CDATA[
		//$(document).ready(function() {
			$('head').append('<link rel="stylesheet" type="text/css" class="fixqs" href="{{tpl:BlogURL}}gallerytheme/spacegallery/css/spacegallery.css" />');
			$('head').append('<link rel="stylesheet" type="text/css" class="fixqs" href="{{tpl:BlogURL}}gallerytheme/spacegallery/css/custom.css" />');
		//});
	//]]>
      </script>
</tpl:doOnce>

Je me demande si la solution la plus propre ne serait pas une généralisation de cet ajout de css en javascript.

Je sais bien qu'on casse l'accessibilité, mais je vois difficilement comment faire autrement... si j'inclus le gallery.css du thème "intégré" par défaut, cela signifie qu'une galerie ayant le thème simple ne s'affichera pas correctement...

comment:2 follow-up: ↓ 3 Changed 13 years ago by bruno

Hmmm ... j'ai peut-être une solution presque élégante, pour le coup :

  • le fichier gallery.html par défaut inclut un fichier gallery_head.html spécifique au thème en cours => en mode hors intégration, tout se passe bien
  • Ajout d'une condition au doOnce qui n'affiche le bout de code inclus que si on est en mode intégration.

Du coup, on reste accessible en mode hors intégration.

comment:3 in reply to: ↑ 2 Changed 13 years ago by noe

Ça me paraît tout à fait prometteur, comme approche :-)

Note: See TracTickets for help on using tickets.

Sites map