Page 1 of 1

[réglé] Sélecteur de template en barre horizontale

Posted: Thu Jun 21, 2007 9:35 am
by yatoula
Bonjour,
toujours le même  :-\ Je voudrais savoir comment realiser une barre qui reste fixe du style demo de joomlart afin de permettre a mes visiteurs de choisir quel template ils veulent voir

PS: est ce que avec un tel systeme il est possible pour chaque template de modifier l'ordre ou l'emplacement des modules ou je ne peut que assigner tel ou tel module a tel ou tel template.  ???
Merci d'avance.

Re: barre de test

Posted: Fri Jun 22, 2007 7:17 am
by dec
Tu n'es pas obligé de créer une telle barre pour permettre à tes visiteurs de choisir un template. Il te suffit juste de publier le module" choix du template" et de lui indiquer une position.
Oui. Il est possible avec un tel système de modifier l'emplacement des modules; sous réserve que dans chaque template, tu indiques le même nom d'emplacement de module (user1, 2 ou 3...) pour le module choisi. User1 pour Login Form, par exemple, pouvant se trouver sur le template 1 en haut à gauche et dans le template 2 en bas à droite

Re: barre de test

Posted: Fri Jun 22, 2007 9:05 am
by yatoula
Ok merci je vais utiliser ce systeme mais je ne sais toujours pas pour ma barre en fait ca m'interesse de savoir comment on fait c'est aussi par curiositée.  ;)

Re: barre de test

Posted: Fri Jun 22, 2007 10:51 am
by syan
cette barre dont tu parles est inséré dans une frame.

Re: barre de test

Posted: Fri Jun 22, 2007 11:01 am
by yatoula
Merci beaucoup  :pop

Re: barre de test

Posted: Sun Jun 24, 2007 3:21 am
by yatoula
Bon voila j'ai compris....
Maintenant autre soucis... Afin de comprendre le systeme j'ai calqué celui de http://www.joomlart.com/templates_demo.php or tout fonctionne enfin presque sinon je ne posterai pas  ;) sur leur site si je tape l'url http://joomlart.com/template/ja_pariiti/ j'accede au template sans passer par leur frame qui se situe dans la page templates-demo.php . Jusque là rien d'anormal ....  ??? heu si car moi sur mon joomla pour le test qui est a l'adresse http://s140843157.onlinehome.fr/test_se ... s_demo.php la frame fonctionne , le menu deroulant aussi mais si je clic sur soccer_pro ca me mets Restricted access et de même si je tapes l'url
http://s140843157.onlinehome.fr/test_se ... occer_pro/ .
Ou se situe le soucis ? y a t il un module, un composant ou des droits a modifier pour que je puisse acceder a cette adresse directement ?
Le module pour choisir le template le fait bien , non ?

Merci de m'eclairer car là je sens que je touches le fond du gouffre. Ca fait plus de 10h là dessus.. :'( Je craque.

Seb

Re: barre de test et joomla dans une frame ??

Posted: Sun Jun 24, 2007 3:28 am
by yatoula
:P re moi... En fait en regardai le code source de l'url http://s140843157.onlinehome.fr/test_se ... occer_pro/  je vois un lien interne qui se compose comme cela....

Code: Select all

<link href="http://www.joomlart.com/template/ja_pariiti/templates/ja_pariiti/css/template_css.css" rel="stylesheet" type="text/css" />
et là, je m'appercois de  la présence de plusieurs dossiers qui me laisse penser maintenant qu'il y aurait un Joomla par templates  ??? Ce serait possible mais vachement lourd non ?

Et si c'est pas le cas ou même si c'est le cas il y aurait pas moyen de remedier a cela et a acceder directement  a l'affichage du template ?

Re: barre de test et joomla dans une frame ??

Posted: Sun Jun 24, 2007 9:14 am
by mejean
A mon avis c'est le cas. Si tu regarde la demo de Rockettheme (au hasard), le contenu de chaque démo est spécifique à chaque template...

Re: barre de test et joomla dans une frame ??

Posted: Sun Jun 24, 2007 9:19 am
by yatoula
Ben oui j'ai pas encore dormi alors je me suis rabattu sur une autre solution... Que je vous transmettrais an temps et en heure des que mon module est ok
pour voir : http://s140843157.onlinehome.fr/test_seb/

Merci quand même en attendant
( ma solution bien développé et mieux artistiquement sera tres simple d'utilisation  :) je pense)

Re: barre de test et joomla dans une frame ??

Posted: Mon Jun 25, 2007 11:23 pm
by yatoula
:P que de bagarre avec ce truc , mais bon ca a l'air de fonctionner.

Maintenant un dernier soucis :

Comment puis je annuler les balises css d'un module ?
Explication : En fait j'ai modifier le module templatechooser, ensuite pour tout mes templates de demo j'ai ajouter juste apres le une position userx et j'ai assigner une class que j'ai mis dans chaque css des templates. Là vous suivez et ca marche. Seul inconnient le module reprend le css de bouton et ce qui me modifie ma soit disant barre (module) a chaque template.

Ma question est simple : y a t il moyen de le forcer a ne pas reprendre le css du template ?

Merci d'avance  ;)

Re: barre de test et joomla dans une frame ??

Posted: Tue Jun 26, 2007 7:30 am
by mejean
En modifiant les balises dans le modules et de créer un css propre aux nouvelles balises. Non ?

(NB : Tu peux même inclure ces css dans le fichier .php du module ce qui t'évitera de les ajouter à chaque feuille de style sans paramétrage dans Joomla! (je rappelle qu'il est possible d'utiliser les suffixes pour personnaliser l'apparence d'un module particulier) !)

Re: Sélecteur de template en barre horizontale

Posted: Tue Jun 26, 2007 9:55 am
by yatoula
Ok donc si j'ai bien compris,
je creer une balise button-demo ensuite dans les index.php des templates, je palce juste avant ma position

Code: Select all

<div id="button-demo">
et en fait le module se servira de ce suffixe ?

En fait ce qui m'arrangerait serait de l'inclure plutot dans le module lui- même. Par contre  :-[ je ne sais pas du tout comment et ou y placer le css (style blablablabla) donc je vous place le code ici et j'attends qu'une âme charitable veuille bien m'y indiquer l'emplacement.  :P ( je test quand même en attendant )

Code: Select all

<?php
/**
* @version $Id: mod_templatechooser.php 1492 2005-12-20 16:07:35Z Jinx $
* @package Joomla
* @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/

// no direct access
defined( '_VALID_MOS' ) or die( 'Restricted access' );

global $cur_template;

// titlelength can be set in module params
$titlelength 	= $params->get( 'title_length', 20 );
$preview_height = $params->get( 'preview_height', 90 );
$preview_width 	= $params->get( 'preview_width', 140 );
$show_preview 	= $params->get( 'show_preview', 0 );

// Read files from template directory
$template_path 	= "$mosConfig_absolute_path/templates";
$templatefolder = @dir( $template_path );
$darray = array();

if ($templatefolder) {
	while ($templatefile = $templatefolder->read()) {
		if ($templatefile != "." && $templatefile != ".." && $templatefile != ".svn" && $templatefile != "css" && is_dir( "$template_path/$templatefile" )  ) {
			if(strlen($templatefile) > $titlelength) {
				$templatename = substr( $templatefile, 0, $titlelength-3 );
				$templatename .= "...";
			} else {
				$templatename = $templatefile;
			}
			$darray[] = mosHTML::makeOption( $templatefile, $templatename );
		}
	}
	$templatefolder->close();
}

sort( $darray );

// Show the preview image
// Set up JavaScript for instant preview
$onchange = "";
if ($show_preview) {
	$onchange = "showimage()";
?>


<table width="100%" height="20" border="0" align="center" cellspacing="0" bordercolor="#000000" background="http://www.templates-joomla.fr/demo/modules/demo_template/demo_template.jpg" >
  <tr align="center" valign="middle" >
    <td width="200">DEMO templates-joomla.fr</u> </td>
    <td>
      <div align="center">
        <script language='JavaScript1.2' type='text/javascript'>
<!--
	function showimage() {
		//if (!document.images) return;
		document.images.preview.src = 'templates/' + getSelectedValue( 'templateform', 'jos_change_template' ) + '/template_thumbnail.png';
	}
	function getSelectedValue( frmName, srcListName ) {
		var form = eval( 'document.' + frmName );
		var srcList = eval( 'form.' + srcListName );

		i = srcList.selectedIndex;
		if (i != null && i > -1) {
			return srcList.options[i].value;
		} else {
			return null;
		}
	}
-->
      </script>
        <?php
}
?>
      </div>      <form action="index.php" name="templateform" method="post" >
        
        
        <div align="center">
          <?php
	echo mosHTML::selectList( $darray, 'jos_change_template', "id=\"mod_templatechooser_jos_change_template\" class=\"button\" onchange=\"$onchange\"",'value', 'text', $cur_template );
	?>
          <input name="submit" type="submit"  size="30" class="button"  value="<?php echo _CMN_SELECT;?>" />
        </div>
    </form>    </td>
    <td width="150"><div align="center"><a href="http://www.templates-joomla.fr"> <img src="http://www.templates-joomla.fr/demo/modules/demo_template/home.gif" width="86" height="16" border="0" /></a></div></td>
    <td width="150"><div align="center">
      <p><a href="http://www.templates-joomla.fr/forum/index.php?action=register"><img src="http://www.templates-joomla.fr/demo/modules/demo_template/register.gif" width="100" height="16" border="0" /></a></p>
    </div></td>
    <td width="150"><div align="center"><a href="http://www.templates-joomla.fr/index.php?option=com_virtuemart&Itemid=76"><img src="http://templates-joomla.fr/demo/modules/demo_template/BOUTIQUE.gif" width="100" height="16" border="0" /></a></div></td>
  </tr>
</table>



Par contre j'ai un soucis aussi pour la creation d'un module ..Je n'arrive pas a inserer un formulaire ( en fait il y a que 1 formulaire qui revoir vers un autre site) Je rouvre un post pour ce probleme ?

Re: Sélecteur de template en barre horizontale

Posted: Tue Jul 10, 2007 8:59 am
by ouly
yatoula wrote: Par contre j'ai un soucis aussi pour la creation d'un module ..Je n'arrive pas a inserer un formulaire ( en fait il y a que 1 formulaire qui revoir vers un autre site) Je rouvre un post pour ce probleme ?
Visiblement un autre sujet a été créé : http://forum.joomla.org/index.php/topic,184842.0.html
Sehr gut ! 8)
yatoula wrote: Ok donc si j'ai bien compris,
je creer une balise button-demo ensuite dans les index.php des templates, je palce juste avant ma position

Code: Select all

<div id="button-demo">
et en fait le module se servira de ce suffixe ?

En fait ce qui m'arrangerait serait de l'inclure plutot dans le module lui- même. Par contre  :-[ je ne sais pas du tout comment et ou y placer le css (style blablablabla) donc je vous place le code ici et j'attends qu'une âme charitable veuille bien m'y indiquer l'emplacement.  :P ( je test quand même en attendant )
Principe simple : séparer la structure de l'apparence ! Imaginons que le template soit bleu et que pour contraster, la barre soit rouge. Que se passe-t'il si un autre template alternatif rouge est utilisé ? L'ensemble du site est rouge alors qu'il aurait peut-être été préféreable d'avoir la barre en noir pour le template rouge. Solution ? Créer deux modules, un par couleur. Le module à un bug ? Pas de problèmes, deux modules à corriger. (idem avec 56 templates de couleurs différentes  :D )

Donc le style s'impose dans le template ! Ceci est aussi valable pour les composants (je vise les développeurs, là) !

Pour changer le style d'un module, il suffit (comme l'a dit méjean) de définir dans les paramètres du module le Suffixe CSS de module. Suivant le style appliqué sur la position de modules (0, 1, -2, -3, voir http://www.joomladraft.org/content/category/11/32/46/ ), le préfixe de la classe CSS de l'élément englobant le module sera différent.

Maintenant deux alternatives : ajouter le style dans la feuille de styles du template, ou créer une feuille de styles partagée par tous les templates et charger cette feuille de styles par un plugin (avec $mainframe->addCustomHeadTag( ... ) ). La dernière alternative ressemble à la définition statique du style dans le module à une différence près : si différentes couleurs sont nécessaires pour le module, le module n'a plus besoin d'être retouché !

Ouly

Re: Sélecteur de template en barre horizontale

Posted: Tue Jul 10, 2007 5:05 pm
by yatoula
Par contre j'ai un soucis aussi pour la creation d'un module ..Je n'arrive pas a inserer un formulaire ( en fait il y a que 1 formulaire qui revoir vers un autre site) Je rouvre un post pour ce probleme ?
Visiblement un autre sujet a été créé : http://forum.joomla.org/index.php/topic,184842.0.html
Sehr gut ! Cool
Mon 1er module est ok... Je suis en train de creer le fichier .zip et je vous tiens au courant..

Pour le reste c'est compris sauf une chose, il y a toujours 1 chose.
C'est le principe d'utilisation du -1, -2 et -3 ???:'(
Merci

Re: Sélecteur de template en barre horizontale

Posted: Wed Jul 11, 2007 8:57 am
by ouly
yatoula wrote: Pour le reste c'est compris sauf une chose, il y a toujours 1 chose.
C'est le principe d'utilisation du -1, -2 et -3 ???:'(
Merci
http://www.joomladraft.org/content/view/64/46/ wrote:Pour implanter une position dans un template, nous n'avons pas d'autres alternatives que d'utiliser la fonction mosLoadModules. Le nom de cette fonction est assez facile à retenir :
  • mos = Mambo Open Source (Mambo est l'ancien nom de joomla!),
  • Load = Charger en langue anglaise,
  • Modules = Modules.
La syntaxe de cette fonction est la suivante :

Code: Select all

mosLoadModules ( $nom_position [, $style] )
Donc, comme son nom l'indique, cette fonction charge tous les modules de Joomla! qui sont assignés à la position $nom_position pour la page en cours.
L'argument $style est facultatif, mais ses valeurs possibles sont : 0, 1, -1, -2 et -3

Re: Sélecteur de template en barre horizontale

Posted: Wed Jul 11, 2007 11:46 am
by yatoula
Mais a quoi servent les $style -1, -2 et -3 Pour 0 et 1 j'ai compris c'est horizontal ou vertical mais pour les autres...  :pop

Re: Sélecteur de template en barre horizontale

Posted: Wed Jul 11, 2007 1:30 pm
by ouly
-1 : sortie brute du contenu des modules
-2 : sortie de chacun des modules dans une couche (div) avec titre
-3 : sortie de chacun des modules dans quatres couches imbriquées (permet de créer des boîtes aux coins arrondis, entre autres) avec titre

Re: Sélecteur de template en barre horizontale

Posted: Thu Jul 12, 2007 7:45 am
by yatoula
;) Voila impec j'ai pigé... Merci le sujet est clos  :pop

Re: Sélecteur de template en barre horizontale

Posted: Thu Jul 12, 2007 8:31 am
by mejean
Nan, nan, il est pas clos !
Il sera clos quand t'auras mis ton module en pièce jointe lol  :laugh:

Re: Sélecteur de template en barre horizontale

Posted: Thu Jul 12, 2007 8:37 am
by yatoula
:D j'avais presque oublié...  :P carement oublié...
Le voici alors.... :pop

En fait le module là est celui que j'ai realisé en 1er des que celui du la barre de choix de template est prete je le post.

Re: Sélecteur de template en barre horizontale

Posted: Fri Jul 13, 2007 11:20 am
by dec
Tiens, si ça peut te dépanner un peu, un exemple de code avec un footer fixe en bas de page avec le contenu du reste de ton site qui passe sous ce footer:

Code: Select all

<style type="text/css">
 body{
  margin:0;
  padding:0 0 <length> 0;
 }
 div#footer{
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  height:<length>;
 }
 @media screen{
  body>div#footer{
   position: fixed;
  }
 }
 * html body{
  overflow:hidden;
 } 
 * html div#content{
  height:100%;
  overflow:auto;
 }
</style>
<div id="footer"> footer </div>
<div id="content"> content </div>
ps: Ah tu veux la guerre avec ton avatar... Okkééé  :laugh: ;D :laugh:

Re: Sélecteur de template en barre horizontale

Posted: Fri Jul 13, 2007 4:42 pm
by yatoula
:P heu ca s'utilise comment ?

:) Je suis le new spiderman ... mais pas de joomla  :laugh: