Joomladay francophone 2018 à Paris 18 et 19 mai

rhuk_solarflare_ii / ajout de position

Réduire
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • rhuk_solarflare_ii / ajout de position

    Bonjour,

    Je suis en train de m'entreiner à la création de positions. Je me fais la main sur le templates installé avec joomla rhuk_solarflare_ii.

    Si j'ai quasiment réussi à créer des positions dans tous les coins du templates, je bute sur les positions entre les colonnes gauche et droite au-dessus du mainbody. En effet, j'aimerais créer deux nouvelles positions qui seraient exactement les même que user1 et user2 mais au lieu qu'elles soient au=dessus du mainbody, je voudrait qu'elles soient en dessous.
    J'ai tenté plusieurs copié collé mais cele ne fonctionne pas.
    Quelqu'un pourrait-il m'indiquer le bout de code qui correspond à ces deux positions et que je dois copié collé pour obtenir des positions user4 et user5 idéntiques mais en dessous.

    Merci

    Code:
    <div align="center">
    	<table border="0" cellpadding="0" cellspacing="0" width="960">
    		<tr>
    			<td class="outline">
    		  		</div>
    		  		<div class="clr"></div>
    		  		<div id="header_outer">
    		  			<div id="header">
    		  			<div id="banner">
    			  			<?php mosLoadModules( 'banner', -1 ); ?>
    			  				</div>
    						<div id="menusite">
    						<?php mosLoadModules ( 'user3', -1); ?>
    					  		</div>
    		  			&nbsp;
    		  			</div></div>
    		  		</div>
    				 </div>
    				  </div>
    		  		</div>
    		  		<div id="left_outer">
    		  			<div id="left_inner">
    		  			<?php mosLoadModules ( 'left', -2 ); ?>
    		  			</div>
    		  		</div>
    		  		<div id="content_outer">
    					<div id="content_inner">
    					<?php
    		  			if ( mosCountModules ('banner') ) {
    		  				?>
    		  				<table border="0" cellpadding="0" cellspacing="0" width="100%" class="content_table">
    							</table>
    							<?php
    		  			}
    		  			?>
    		  			<table border="0" cellpadding="0" cellspacing="0" width="100%" class="content_table">
    						<tr valign="top">
    							<td width="99%">
    								<table border="0" cellpadding="0" cellspacing="0" width="100%" class="content_table">
    
    								<?php
    								if ($colspan > 0) {
    								?>
    									<tr valign="top">
    										<?php
    				  					if ( $user1 > 0 ) {
    				  						?>
    				  						<td width="50%">
    				  							<div class="user1_inner">
    				  							<?php mosLoadModules ( 'user1', -2 ); ?>
    				  							</div>
    				  						</td>
    				  						<?php
    				  					}
    				  					if ( $colspan == 3) {
    										 ?>
    											<td width="2">
    												<img src="<?php echo $mosConfig_live_site;?>/templates/rhuk_solarflare_ii/images/spacer.png" alt="" title="spacer" border="0" height="10" width="2" />
    											</td>
    										<?php
    										}
    				  					if ( $user2 > 0 ) {
    				  						?>
    				  						<td width="50%">
    				  							<div class="user2_inner">
    				  							<?php mosLoadModules ( 'user2', -2 ); ?>
    				  							</div>
    				  						</td>				  						
    				  						<?php
    				  					}
    										?>
    									</tr>
    									<tr>
    										<td colspan="<?php echo $colspan; ?>">
    											<img src="<?php echo $mosConfig_live_site;?>/templates/rhuk_solarflare_ii/images/spacer.png" alt="" title="spacer" border="0" height="2" width="100" /><br />
    										</td>
    									</tr>
    									<?php
    									}
    								?>
    								<tr>
    									<td colspan="<?php echo $colspan; ?>">
    									</td>
    								</tr>
    								<tr>
    									<td colspan="<?php echo $colspan; ?>" class="body_outer">
    				  					 <?php mosMainBody(); ?>
    									</td>
    								</tr>
    								</table>
    
    
    							</td>
    							<?php
    							if ( $right > 0 ) {
    		  				?>
    		  				<td>
    			  				<div id="right_outer">
    			  					<div id="right_inner">
    			  					<?php mosLoadModules ( 'right', -2 ); ?>
    			  					</div>
    			  				</div>
    		  				</td>
    		  				
    		  				<?php
    		  			}
    		  			?>
    
    						</tr>
    						</table>
    		  		</div>
    		  	</div>
    		  </td>
    	  </tr>
      </table>
    </div>
    <?php include_once( $GLOBALS['mosConfig_absolute_path'] . '/includes/footer.php' ); ?>
    <?php mosLoadModules( 'debug', -1 );?>
    </body>
    </html>
    Dernière édition par wouaa à 21/12/2007, 13h08

  • #2
    salut wouaa,

    as-tu réussi à installer des nouvelles positions en bas ?

    Commentaire


    • #3
      Bonjour

      Dans un premier temps, il convient de bien planter le décor. Dans le fichier index.php, repère les lignes concernées:
      - mosLoadModules('user1',-2)
      - mosLoadModules('user2',-2)
      - mosMainBody()
      Constates que ces lignes sont incluses dans une table qui s'initialise ligne 108 chez moi par le code
      Code:
      <table border="0" cellpadding="0" cellspacing="0" width="100%" class="content_table">
      et qui se ferme ligne 165 (toujour chez moi). Si les numéros de ligne ne correspondent pas, tu peux retrouver ces lignes en faisant une recherche dans ton code.

      Concernant les positions que tu veux créer, utilises les position 'user8' et 'user9' qui devraient être libre. Sinon, crées en de nouvel, par exemple user19 et 'user20' (adminisrator => Site => Gestion des Templates => Position des modules).

      Il y a deux possibilités pour insérer ces deux nouvelles position: créer une ligne supplémentaire à la fin de la table sus-citée, avec 2 cellules, ou créer une nouvelle table juste après. Je pense que la seconde est préférable car elle offre plus de possibilité pour déterminer un style qui soit adapté.

      Donc, crées cette nouvelle table:
      Code:
      <table border="0" cellpadding="0" cellspacing="0" width="100%" class="content_table">
        <tr>
          <td width="50%">
            <div class="user1_inner">
              <?php mosLoadModules ( 'user8', -2 ); ?>
            </div>
          </td>
          <td width="50%">
            <div class="user1_inner">
              <?php mosLoadModules ( 'user9', -2 ); ?>
            </div>
          </td>
        </tr>				
      </table>
      Comme tu le vois, elle ne contient qu'une seule ligne avec 2 colonnes occupant chacune 50% de l'espace. J'ai repris les mêmes styles pour cette table et pour ces nouvelles position que pour la table content et pour les positions user1 et user2. D'ailleurs, c'est un copié collé des lignes user1 et user2 précédemment repérées.

      Voilà tes deux nouvelles position là ou tu veux
      Fichiers joints
      Dernière édition par Kyos à 04/03/2008, 10h41

      Commentaire


      • #4
        Salut Kyos,

        Merci pour ta réponse j'ai oublié de mettre réglé au sujet.
        J'avais en effet trouvé la solution et ton démonstartion est très bien faite effectivement.

        Je rajouterais quand même ceci pour garder l'intérêt du CMS et c'est là ou j'ai le plus galéré :

        Je remplace les lignes suivantes (17 à 35 chez moi)
        Code:
        //script to determine which div setup for layout to use based on module configuration
        $user1 = 0;
        $user2 = 0;
        $colspan = 0;
        $right = 0;
        // banner combos
        
        //user1 combos
        if ( mosCountModules( 'user1' ) + mosCountModules( 'user2' ) == 2) {
        	$user1 = 2;
        	$user2 = 2;
        	$colspan = 3;
        } elseif ( mosCountModules( 'user1' ) == 1 ) {
        	$user1 = 1;
        	$colspan = 1;
        } elseif ( mosCountModules( 'user2' ) == 1 ) {
        	$user2 = 1;
        	$colspan = 1;
        }
        par

        Code:
        //script to determine which div setup for layout to use based on module configuration
        $user1 = 0;
        $user2 = 0;
        $user8 = 0;
        $user9 = 0;
        $colspan = 0;
        $right = 0;
        // banner combos
        
        //user1 combos
        if (( mosCountModules( 'user1' ) + mosCountModules( 'user2' ) == 2) and ( mosCountModules( 'user8' ) + mosCountModules( 'user9' ) == 2)) {
        	$user1 = 2;
        	$user2 = 2;
        	$user8 = 2;
        	$user9 = 2;
        	$colspan = 3;
        } elseif (( mosCountModules( 'user1' ) + mosCountModules( 'user2' ) == 2) and ( mosCountModules( 'user8' ) == 1)) {
        	$user1 = 2;
        	$user2 = 2;
        	$user8 = 1;
        	$colspan = 3;
        } elseif (( mosCountModules( 'user1' ) + mosCountModules( 'user2' ) == 2) and ( mosCountModules( 'user9' ) == 1)) {
        	$user1 = 2;
        	$user2 = 2;
        	$user9 = 1;
        	$colspan = 3;
        } elseif (( mosCountModules( 'user1' ) == 1) and ( mosCountModules( 'user8' ) + mosCountModules( 'user9' ) == 2)) {
        	$user1 = 1;
        	$user8 = 2;
        	$user9 = 2;
        	$colspan = 3;
        } elseif (( mosCountModules( 'user2' ) == 1) and ( mosCountModules( 'user8' ) + mosCountModules( 'user9' ) == 2)) {
        	$user2 = 1;
        	$user8 = 2;
        	$user9 = 2;
        	$colspan = 3;
        } elseif (( mosCountModules( 'user1' ) == 1) and ( mosCountModules( 'user8' ) == 1)) {
        	$user1 = 1;
        	$user8 = 1;
        	$colspan = 1;
        } elseif (( mosCountModules( 'user1' ) == 1) and ( mosCountModules( 'user9' ) == 1)) {
        	$user1 = 1;
        	$user9 = 1;
        	$colspan = 1;
        } elseif (( mosCountModules( 'user2' ) == 1) and ( mosCountModules( 'user8' ) == 1)) {
        	$user2 = 1;
        	$user8 = 1;
        	$colspan = 1;
        } elseif (( mosCountModules( 'user2' ) == 1) and ( mosCountModules( 'user9' ) == 1)) {
        	$user2 = 1;
        	$user9 = 1;
        	$colspan = 1;
        } elseif (( mosCountModules( 'user1' ) + mosCountModules( 'user2' ) == 0) and ( mosCountModules( 'user8' ) + mosCountModules( 'user9' ) == 2)) {
        	$user8 = 2;
        	$user9 = 2;
        	$colspan = 3;
        } elseif (( mosCountModules( 'user1' ) + mosCountModules( 'user2' ) == 2) and ( mosCountModules( 'user8' ) + mosCountModules( 'user9' ) == 0)) {
        	$user1 = 2;
        	$user2 = 2;
        	$colspan = 3;
        } elseif (( mosCountModules( 'user1' ) + mosCountModules( 'user2' ) == 0) and ( mosCountModules( 'user8' ) == 1)) {
        	$user8 = 1;
        	$colspan = 1;
        } elseif (( mosCountModules( 'user1' ) + mosCountModules( 'user2' ) == 0) and ( mosCountModules( 'user9' ) == 1)) {
        	$user9 = 1;
        	$colspan = 1;
        } elseif (( mosCountModules( 'user1' ) == 1) and ( mosCountModules( 'user8' ) + mosCountModules( 'user9' ) == 0)) {
        	$user1 = 1;
        	$colspan = 1;
        } elseif (( mosCountModules( 'user2' ) == 1) and ( mosCountModules( 'user8' ) + mosCountModules( 'user9' ) == 0)) {
        	$user2 = 1;
        	$colspan = 1;
        }
        Puis pour reprendre en dessous de

        Code:
        <tr>
           <td colspan="<?php echo $colspan; ?>" class="body_outer">
           <?php mosMainBody(); ?>
           </td>
        </tr>
        Je mets

        Code:
        <?php
        if ($colspan > 0) {	?>
        	<tr valign="top">
        		<td colspan="<?php echo $colspan; ?>">
        			<img src="<?php echo $mosConfig_live_site;?>/templates/rhuk_solarflare_ii/images/spacer.png" alt="" title="spacer" border="0" height="2" width="100" /><br />
        		</td>
        	</tr>
        	<tr valign="top">
        		<?php
        	if ( $user8 > 0 ) {
        		?>
        		<td <?php if ( $user8 == 1 ) { ?>colspan="<?php echo $colspan; ?>"<?php } ?> width="50%">
        			<div class="user2_inner">
        			<?php mosLoadModules ( 'user8', -2 ); ?>
        			</div>
        		</td>
        		<?php
        	}
        	if ( $colspan == 3) {
        		 ?>
        			<td width="2">
        				<img src="<?php echo $mosConfig_live_site;?>/templates/rhuk_solarflare_ii/images/spacer.png" alt="" title="spacer" border="0" height="10" width="2" />
        			</td>
        		<?php
        		}
        	if ( $user9 > 0 ) {
        		?>
        		<td <?php if ( $user9 == 1 ) { ?>colspan="<?php echo $colspan; ?>" <?php } ?> width="50%">
        			<div class="user2_inner">
        			<?php mosLoadModules ( 'user9', -2 ); ?>
        			</div>
        		</td>
        		<?php
        	}
        		?>
        Enfin pour finir je remplace

        Code:
        <?php
        	if ( $user1 > 0 ) {
        		?>
        		<td width="50%">
        			<div class="user1_inner">
        			<?php mosLoadModules ( 'user1', -2 ); ?>
        			</div>
        		</td>
        par

        Code:
        <?php
        	if ( $user1 > 0 ) {
        		?>
        		<td <?php if ( $user1 == 1 ) { ?>colspan="<?php echo $colspan; ?>"<?php } ?> width="50%">
        			<div class="user1_inner">
        			<?php mosLoadModules ( 'user1', -2 ); ?>
        			</div>
        		</td>
        et je remplace

        Code:
        <?php
        		}
        	if ( $user2 > 0 ) {
        		?>
        		<td width="50%">
        			<div class="user2_inner">
        			<?php mosLoadModules ( 'user2', -2 ); ?>
        			</div>
        		</td>
        par

        Code:
        <?php
        		}
        	if ( $user2 > 0 ) {
        		?>
        		<td <?php if ( $user2 == 1 ) { ?>colspan="<?php echo $colspan; ?>"<?php } ?> width="50%">
        			<div class="user2_inner">
        			<?php mosLoadModules ( 'user2', -2 ); ?>
        			</div>
        		</td>
        Voilà ! J'ai utilisé tout ça car ça permet de garder l'avantage de Joomla c'est à dire de passer par l'admin pour gérer les modules et positions. Sinon le code reste figé et il faudra repasser par le code pour bouger les positions user8 et user9 que l'on a rajouté.

        NB : Je ne met pas les numéros de lignes car tout se décale évidemment

        Commentaire

        Annonce

        Réduire
        1 sur 2 < >

        C'est [Réglé] et on n'en parle plus ?

        A quoi ça sert ?
        La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

        Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

        Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
        Comment ajouter la mention [Réglé] à votre discussion ?
        1 - Aller sur votre discussion et éditer votre premier message :


        2 - Cliquer sur la liste déroulante Préfixe.

        3 - Choisir le préfixe [Réglé].


        4 - Et voilà… votre discussion est désormais identifiée comme réglée.

        2 sur 2 < >

        Assistance au forum - Outil de publication d'infos de votre site

        Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

        Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

        Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

        UTILISER À VOS PROPRES RISQUES :
        L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

        Problèmes connus :
        FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

        Installation :

        1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

        Archive zip : https://github.com/AFUJ/FPA/zipball/master

        2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

        3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

        4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

        5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

        6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
        et remplacer www. votresite .com par votre nom de domaine


        Exemples:
        Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
        Télécharger le script fpa-fr.php dans: /public_html/
        Pour executer le script: http://www..com/fpa-fr.php

        Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
        Télécharger le script fpa-fr.php dans: /public_html/cms/
        Pour executer le script: http://www..com/cms/fpa-fr.php

        En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

        Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
        Voir plus
        Voir moins
        Travaille ...
        X