Joomladay francophone 2018 à Paris 18 et 19 mai

Template du composant "Contact"

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

  • [Problème] Template du composant "Contact"

    Bonjour,

    je travaille sur ce site : http://www.s290762909.onlinehome.fr/...id=1&Itemid=53

    ...et plus particulièrement, sur l'image du contact du composant "Contact".

    Au faites, je cherche à utiliser une image plus grandes en hauteur qu'en largeur, et surtout la placer à la droite de mon formulaire de contact.

    Je pense qu'il faut bidouiller sur le fichier components/com_contact/views/contact/tmpl/default.php (enfin, je sais pas trop)

    Ainsi, pourriez-vous m'aider???

    Merci d'avance...

  • #2
    Déjà dans /templates/rhuk_milkyway/html il faut que tu cré un répertoire com_contact puis un sous répertoire contact tu copies ton fichier default.php et c'est celui là que tu bricoles.

    Ensuite affiche les bordures et réorganise le tableau associé.

    Vas tu afficher les données de contact via la partie "Contact" de joomla ou les masquer et les mettre sur ton jpg ?

    Commentaire


    • #3
      Non je vais les masquer... Et les mettre sur le jpg... Pk??

      Je vais tester ce que tu m'as dis.. Merci encore l'ami ;-)....

      Commentaire


      • #4
        Pour pouvoir mieux t'aider dans ta démarche . Alors en fait je pense que tu n'as pas à overrider le composant contact puisque l'image du contact et par défaut à droite. Il te suffit juste de tout masquer sauf l'image de contact.

        Commentaire


        • #5
          ça veut dire quoi "overrider"?

          Au faites, c'est ce que j'ai fait "masquer tout sauf l'image". Regarde ce que ça donne:

          http://www.s290762909.onlinehome.fr/...id=1&Itemid=53

          Alors moi je cherche que l'image soit sur la droite du formulaire de contact.

          Commentaire


          • #6
            En fait "l'overriding" consiste à modifier les templates des différents composants, modules, etc. sans toucher au fichiers sources (évite de perdre les modifications effectuées) lors de la mise à jour.

            Il faut que tu forces les tailles des cellules (dans default.php) à 50% par exemple pour que l'espace associé au fomulaire et à l'image soit égal.

            C'est dans le tableau vers la ligne 46 du default.php

            Commentaire


            • #7
              j'ai fait ce que tu as dit:

              http://www.s290762909.onlinehome.fr/...id=1&Itemid=53

              Je vois ce que tu veux dire quand tu dis forcer la taille, mais, je ne vois pas ce paramètre dans les codes.

              Est-ce que je peux t'envoyer le fichier default.php?

              Commentaire


              • #8
                Oui ou alors copie-colle le moi entre les balises CODE du forum .

                Commentaire


                • #9
                  Voici le code dans sa version originale:

                  Code:
                  <?php
                  /**
                   * $Id: default.php 11917 2009-05-29 19:37:05Z ian $
                   */
                  defined( '_JEXEC' ) or die( 'Restricted access' );
                  
                  $cparams = JComponentHelper::getParams ('com_media');
                  ?>
                  <?php if ( $this->params->get( 'show_page_title', 1 ) && !$this->contact->params->get( 'popup' ) && $this->params->get('page_title') != $this->contact->name ) : ?>
                  	<div class="componentheading<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>">
                  		<?php echo $this->params->get( 'page_title' ); ?>
                  	</div>
                  <?php endif; ?>
                  <div id="component-contact">
                  <table width="100%" cellpadding="0" cellspacing="0" border="0" class="contentpaneopen<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>">
                  <?php if ( $this->params->get( 'show_contact_list' ) && count( $this->contacts ) > 1) : ?>
                  <tr>
                  	<td colspan="2" align="center">
                  		<br />
                  		<form action="<?php echo JRoute::_('index.php') ?>" method="post" name="selectForm" id="selectForm">
                  		<?php echo JText::_( 'Select Contact' ); ?>:
                  			<br />
                  			<?php echo JHTML::_('select.genericlist',  $this->contacts, 'contact_id', 'class="inputbox" onchange="this.form.submit()"', 'id', 'name', $this->contact->id);?>
                  			<input type="hidden" name="option" value="com_contact" />
                  		</form>
                  	</td>
                  </tr>
                  <?php endif; ?>
                  <?php if ( $this->contact->name && $this->contact->params->get( 'show_name' ) ) : ?>
                  <tr>
                  	<td width="100%" class="contentheading<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>">
                  		<?php echo $this->escape($this->contact->name); ?>
                  	</td>
                  </tr>
                  <?php endif; ?>
                  <?php if ( $this->contact->con_position && $this->contact->params->get( 'show_position' ) ) : ?>
                  <tr>
                  	<td colspan="2">
                  	<?php echo $this->escape($this->contact->con_position); ?>
                  		<br /><br />
                  	</td>
                  </tr>
                  <?php endif; ?>
                  <tr>
                  	<td>
                  		<table border="0" width="100%">
                  		<tr>
                  			<td></td>
                  			<td rowspan="2" align="right" valign="top">
                  			<?php if ( $this->contact->image && $this->contact->params->get( 'show_image' ) ) : ?>
                  				<div style="float: right;">
                  					<?php echo JHTML::_('image', 'images/stories' . '/'.$this->contact->image, JText::_( 'Contact' ), array('align' => 'middle')); ?>
                  				</div>
                  			<?php endif; ?>
                  			</td>
                  		</tr>
                  		<tr>
                  			<td>
                  				<?php echo $this->loadTemplate('address'); ?>
                  			</td>
                  		</tr>
                  		</table>
                  	</td>
                  	<td>&nbsp;</td>
                  </tr>
                  <?php if ( $this->contact->params->get( 'allow_vcard' ) ) : ?>
                  <tr>
                  	<td colspan="2">
                  	<?php echo JText::_( 'Download information as a' );?>
                  		<a href="<?php echo JURI::base(); ?>index.php?option=com_contact&amp;task=vcard&amp;contact_id=<?php echo $this->contact->id; ?>&amp;format=raw&amp;tmpl=component">
                  			<?php echo JText::_( 'VCard' );?></a>
                  	</td>
                  </tr>
                  <?php endif;
                  if ( $this->contact->params->get('show_email_form') && ($this->contact->email_to || $this->contact->user_id))
                  	echo $this->loadTemplate('form');
                  ?>
                  </table>
                  </div>

                  Commentaire


                  • #10
                    Voici le code modifié je t'ai mis quelques annotations. J'ai fixé la taille de l'affichage à 45% et donc 55% pour ton image après il te suffit de régler cette valeur si tu n'as pas l'effet escompté.

                    Attention toutefois cette modification ne vaut que si tout les champs sauf l'image sont masqués, dans le cas contraire d'autres ajustements seront à faire.


                    Code:
                    <?php
                    /**
                     * $Id: default.php 11917 2009-05-29 19:37:05Z ian $
                     */
                    defined( '_JEXEC' ) or die( 'Restricted access' );
                    
                    $cparams = JComponentHelper::getParams ('com_media');
                    ?>
                    <?php if ( $this->params->get( 'show_page_title', 1 ) && !$this->contact->params->get( 'popup' ) && $this->params->get('page_title') != $this->contact->name ) : ?>
                    	<div class="componentheading<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>">
                    		<?php echo $this->params->get( 'page_title' ); ?>
                    	</div>
                    <?php endif; ?>
                    <div id="component-contact">
                    <table width="100%" cellpadding="0" cellspacing="0" border="0" class="contentpaneopen<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>">
                    <?php if ( $this->params->get( 'show_contact_list' ) && count( $this->contacts ) > 1) : ?>
                    <tr>
                    	<td colspan="2" align="center">
                    		<br />
                    		<form action="<?php echo JRoute::_('index.php') ?>" method="post" name="selectForm" id="selectForm">
                    		<?php echo JText::_( 'Select Contact' ); ?>:
                    			<br />
                    			<?php echo JHTML::_('select.genericlist',  $this->contacts, 'contact_id', 'class="inputbox" onchange="this.form.submit()"', 'id', 'name', $this->contact->id);?>
                    			<input type="hidden" name="option" value="com_contact" />
                    		</form>
                    	</td>
                    </tr>
                    <?php endif; ?>
                    <?php if ( $this->contact->name && $this->contact->params->get( 'show_name' ) ) : ?>
                    <tr>
                    	<td width="100%" class="contentheading<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>">
                    		<?php echo $this->escape($this->contact->name); ?>
                    	</td>
                    </tr>
                    <?php endif; ?>
                    <?php if ( $this->contact->con_position && $this->contact->params->get( 'show_position' ) ) : ?>
                    <tr>
                    	<td colspan="2">
                    	<?php echo $this->escape($this->contact->con_position); ?>
                    		<br /><br />
                    	</td>
                    </tr>
                    <?php endif; ?>
                    <tr>
                    	<td>
                    		<table border="0" width="100%">
                    		<tr>
                    			<td width="45%">
                    			<?php
                    			// Affichage du formulaire
                    			if ( $this->contact->params->get('show_email_form') && ($this->contact->email_to || $this->contact->user_id))
                    			echo $this->loadTemplate('form');
                    			?>
                    			</td>
                    			<td rowspan="2" align="right" valign="top">
                    			<!--  Affichage de l'image -->
                    			<?php if ( $this->contact->image && $this->contact->params->get( 'show_image' ) ) : ?>
                    				<div style="float: right;">
                    					<?php echo JHTML::_('image', 'images/stories' . '/'.$this->contact->image, JText::_( 'Contact' ), array('align' => 'middle')); ?>
                    				</div>
                    			<?php endif; ?>
                    			</td>
                    		</tr>
                    		<tr>
                    			<td>
                    				<!--  Affichage de l'adresse -->
                    				<?php echo $this->loadTemplate('address'); ?>
                    			</td>
                    		</tr>
                    		</table>
                    	</td>
                    	<td>&nbsp;</td>
                    </tr>
                    <?php if ( $this->contact->params->get( 'allow_vcard' ) ) : ?>
                    <tr>
                    	<td colspan="2">
                    	<?php echo JText::_( 'Download information as a' );?>
                    		<a href="<?php echo JURI::base(); ?>index.php?option=com_contact&amp;task=vcard&amp;contact_id=<?php echo $this->contact->id; ?>&amp;format=raw&amp;tmpl=component">
                    			<?php echo JText::_( 'VCard' );?></a>
                    	</td>
                    </tr>
                    <?php endif; ?>
                    </table>
                    </div>

                    Commentaire


                    • #11
                      merci.. j'ai testé ceci... voici voilà

                      http://www.s290762909.onlinehome.fr/...id=1&Itemid=53

                      sauf que je souhaiterais que mon image soit ici...

                      Commentaire


                      • #12
                        Héhé non en fait je suis parti du purity M'enfin tu as la démarche principale... Si tu n'y arrives toujours pas je te redonnerai le bon code dans la soirée.

                        Commentaire


                        • #13
                          J'ai regardé et en fait c'est juste que j'avais modifié le fichier default_form.php Le voici :

                          Code:
                          <?php
                          /** $Id: default_form.php 11917 2009-05-29 19:37:05Z ian $ */
                          defined( '_JEXEC' ) or die( 'Restricted access' );
                          
                          	$script = '<!--
                          		function validateForm( frm ) {
                          			var valid = document.formvalidator.isValid(frm);
                          			if (valid == false) {
                          				// do field validation
                          				if (frm.email.invalid) {
                          					alert( "' . JText::_( 'Please enter a valid e-mail address.', true ) . '" );
                          				} else if (frm.text.invalid) {
                          					alert( "' . JText::_( 'CONTACT_FORM_NC', true ) . '" );
                          				}
                          				return false;
                          			} else {
                          				frm.submit();
                          			}
                          		}
                          		// -->';
                          	$document =& JFactory::getDocument();
                          	$document->addScriptDeclaration($script);
                          
                          	if(isset($this->error)) : ?>
                          <table cellpadding="0" cellspacing="0">
                          <tr>
                          	<td><?php echo $this->error; ?></td>
                          </tr>
                          <?php endif; ?>
                          <tr>
                          	<td>
                          	<form action="<?php echo JRoute::_( 'index.php' );?>" method="post" name="emailForm" id="emailForm" class="form-validate">
                          		<div class="contact_email<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>">
                          			<label for="contact_name">
                          				&nbsp;<?php echo JText::_( 'Enter your name' );?>:
                          			</label>
                          			<br />
                          			<input type="text" name="name" id="contact_name" size="30" class="inputbox" value="" />
                          			<br />
                          			<label id="contact_emailmsg" for="contact_email">
                          				&nbsp;<?php echo JText::_( 'Email address' );?>:
                          			</label>
                          			<br />
                          			<input type="text" id="contact_email" name="email" size="30" value="" class="inputbox required validate-email" maxlength="100" />
                          			<br />
                          			<label for="contact_subject">
                          				&nbsp;<?php echo JText::_( 'Message subject' );?>:
                          			</label>
                          			<br />
                          			<input type="text" name="subject" id="contact_subject" size="30" class="inputbox" value="" />
                          			<br /><br />
                          			<label id="contact_textmsg" for="contact_text">
                          				&nbsp;<?php echo JText::_( 'Enter your message' );?>:
                          			</label>
                          			<br />
                          			<textarea cols="50" rows="10" name="text" id="contact_text" class="inputbox required"></textarea>
                          			<?php if ($this->contact->params->get( 'show_email_copy' )) : ?>
                          			<br />
                          				<input type="checkbox" name="email_copy" id="contact_email_copy" value="1"  />
                          				<label for="contact_email_copy">
                          					<?php echo JText::_( 'EMAIL_A_COPY' ); ?>
                          				</label>
                          			<?php endif; ?>
                          			<br />
                          			<br />
                          			<button class="button validate" type="submit"><?php echo JText::_('Send'); ?></button>
                          		</div>
                          
                          	<input type="hidden" name="option" value="com_contact" />
                          	<input type="hidden" name="view" value="contact" />
                          	<input type="hidden" name="id" value="<?php echo $this->contact->id; ?>" />
                          	<input type="hidden" name="task" value="submit" />
                          	<?php echo JHTML::_( 'form.token' ); ?>
                          	</form>
                          	<br />
                          	</td>
                          </tr>
                          </table>
                          Associé à celui de dessus tu devrais avoir ce que tu veux.

                          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