We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 7497
    • 13 Posts
    Bonsoir,

    J’essai de mettre en place un module de commentaire, que l’on puisse cacher à volonté, j’ai suivie la démo proposé sur cette page http://demos.mootools.net/Fx.Slide (Merci à coroico)

    Toutes fois, bien que j’ai suivi le modèle proposé, je n’obtiens aucun effet...
    J’ai ajouté l’appel du script "fxslide.js" et les css à ma feuille de style, modifier mon chunk, je vois pas ou est le problème...

    Voici mon head :
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <link rel="stylesheet" type="text/css" href="assets/templates/paperboard/css/alternative.css" media="screen" />
    <link rel="stylesheet" type="text/css" href="assets/templates/paperboard/css/print.css" media="print" />
    <!--[if lte IE 7]>
    <link rel="stylesheet" type="text/css" href="assets/templates/paperboard/css/ie7_or_less.css" />
    <![endif]-->
    
    <script type="text/javascript" src="assets/templates/paperboard/js/fxslide.js"></script>
    <link rel="stylesheet" type="text/css" href="/assets/snippets/jot/templates/jot.css" />
    	<script type="text/javascript" src="manager/media/script/mootools/mootools.js"></script>
    
    	<script type="text/javascript" src="assets/snippets/ajax-Search/js/ajaxSearch.js"></script>
    <!-- start AjaxSearch header -->
    <script type="text/javascript">
    //<![CDATA[       
    config = 'default';
    as_version = '1.8.0';
    debug = 0;
    as_language = 'francais-utf8';
    opacity = 1;
    advSearch = 'oneword';
    whereSearch = 'content,tv';
    order = 'publishedon,pagetitle';
    rank = 'pagetitle:100,extract';
    minChars = 3;
    ajaxMax = 6;
    showMoreResults = 1;
    moreResultsPage = 3;
    extract = '1:content,description,introtext,tv_content';
    extractLength = 200;
    extractEllips = '...';
    extractSeparator = '<br />';
    formatDate = 'd/m/y : H:i:s';
    liveSearch = 0;
    docgrp = '';
    listIDs = '';
    idType = 'parents';
    depth = 10;
    highlightResult = 1;
    hideMenu = 2;
    hideLink = 1;
    as_filter = '';
    tplAjaxResult = '';
    tplAjaxResults = '';
    stripInput = 'defaultStripInput';
    stripOutput = 'defaultStripOutput';
    breadcrumbs = '0';
    tvPhx = '0';
    //]]>
    </script>
    <!-- end AjaxSearch header -->
    </head>
    


    et Voici la partie de template concernée :

    <div id="commentsAnchor">
    	<div class="marginbottom">
    		<a id="v_slideout" href="#">slide out</a>
    		|
    		<a id="v_slidein" href="#">slide in</a>
    		|
    		<a id="v_toggle" href="#">toggle</a>
    		|
    		<a id="v_hide" href="#">hide</a>
    
    		|
    		<a id="v_show" href="#">show</a>
    		| <strong>status</strong>: <span id="vertical_status">open</span>
    	</div>
    	<div id="vertical_slide">
    <!-- norify author: 0 -->
    <a name="jfed2183c9"></a>
    <h2>Faire un commentaire</h2>
    
    <div class="jot-list">
    	<p>Les champs marqués par un astérix ( <span style="color: rgb(255, 0, 0);"><strong>*</strong></span> ) sont indispensables</p>
    </div>
    
    
    <form method="post" action="/index.php?id=8#jfed2183c9" class="jot-form">
    	<fieldset>
    	<input name="JotForm" type="hidden" value="ed2183c968a52fbd26f9a3ad239de9dd" />
    
    	<input name="JotNow" type="hidden" value="1742470717" />
    	<input name="parent" type="hidden" value="" />
    	
    	
    	
    	<label for="name">Name:<br /> <input tabindex="1742470718" name="name" type="text" size="40" value="" /> </label> <label for="email">Email:<br /> <input tabindex="1742470719" name="email" type="text" size="40" value="" /> </label>
    	
    	<label for="title">Sujet :<br />
    	<input tabindex="1742470720" name="title" type="text" size="40" value="" />
    
    	</label>
    	<label for="content">Votre commentaire : <span style="color: rgb(255, 0, 0);"><strong>*</strong></span><br />
    	<textarea tabindex="1742470721" name="content" cols="80" rows="8"></textarea>
    	</label><br />
    	
      
    	
    	<div style="float:right;width: 100px;"></div>
    	<input tabindex="1742470722" name="submit" type="submit" value="Ajouter..." />
    	 
    	</fieldset>
    
    </form>
    
    </div><!--fin fxslide-->	
    


    Le chunk d’appel :
    <div id="commentsAnchor">
    	<div class="marginbottom">
    		<a id="v_slideout" href="#">slide out</a>
    		|
    		<a id="v_slidein" href="#">slide in</a>
    		|
    		<a id="v_toggle" href="#">toggle</a>
    		|
    		<a id="v_hide" href="#">hide</a>
    		|
    		<a id="v_show" href="#">show</a>
    		| <strong>status</strong>: <span id="vertical_status">open</span>
    	</div>
    	<div id="vertical_slide">
    [!Jot? &customfields=`name,email` &subscribe=`1` &pagination=`4` &badwords=`dotNet` &canmoderate=`Site Admins` !]
    	
    
    </div> <!--commentsAnchor end-->


    Mon div de fermeture est placé à la dernière ligne du fichier "jot/template/chunk.comment.inc.html"

    Une idée ?
      • 7497
      • 13 Posts
      J’ai ce message :
      addEvent is not a function
      fxslide.js()()
      window.addEvent('domready', function() {


      Ça vous parle peut être plus ? A moi pas du tout par contre...
        • 5811
        • 1,717 Posts
        Je me trompe peut etre mais je pense que la demo est basée sur mootools 1.2 et qu’elle n’est pas compatible avec la bibliothèque MODx qui est elle en 1.11. Essaye plutot la demo de la version 1.11.
          • 7497
          • 13 Posts
          Merci de votre réponse mais on ca ne change rien sad si ce n’est un message différent
          Fx is not defined
          var mySlide = new Fx.Slide('vertical_slide');


          par contre j’ai trouvé ca http://modxcms.com/forums/index.php/topic,14881.msg96493.html#msg96493
          Mais je ne vois pas ou veut en venir Garrin ...
          Merci d’avance...
            • 23050
            • 1,842 Posts
            Hello smiley

            Ca fait un petit moment que j’ai pas utilisé Mootools mais si je me rappelle bien, tu as des modules à choisir lorsque tu télécharges le pack. Visiblement, d’après ce que dit Garryn, dans le pack que tu utilises, il manque la définition des fonctions
            Element.Event
            Window.DomReady

            Il faudrait que tu retélécharges Mootools en prenant soin d’avoir ces 2 fonctions

              • 7497
              • 13 Posts
              Bonjour et merci Perrine, en effet, je l’ai compris plus tard dans la soirée, mais le nouveau téléchargement ne m’a fait que revenir en arrière...

              J’ai trouvé d’ouvient mon problème... C’est du à AjaxSearch qui charge mootools après Fxslide. Comment puis je remédier au problème, faire charger AjaxSearch (1.8 ) en premier, vu qu’actuellement c’est fait automatiquement par le snippet ou ne pas lui faire charger de façon à ce que je l’ajoute moi meme au head ?

              Ensuite j’ai un autre problème, mon module est bien caché, mais il ne s’affiche pas :|
              this.stopPropagation() has no properties
              preventDefault()()
              (?)()(click clientX=0, clientY=0)
              [Break on this error] }this.fixRelatedTarget();}}}return this;...opagation){this.event.stopPropagation();


              Merci mootools :pleureàchaudelarmedecrocodile:

              EDIT : je viens de modifier mon fichier fxslide:

              window.addEvent('domready', function() {  // Le script va s'effectuer quand tout le html sera chargé
              	var status = {
              		'true': 'open',
              		'false': 'close'
              	};	
              	//-vertical
              	var myVerticalSlide = new Fx.Slide('vertical_slide');
              	$('v_slidein').addEvent('click', function(e){
              		e.stop();
              		myVerticalSlide.slideIn();
              	});
              	$('v_slideout').addEvent('click', function(e){
              		e.stop();
              		myVerticalSlide.slideOut();
              	});
              
              	// When Vertical Slide ends its transition, we check for its status
              	// note that complete will not affect 'hide' and 'show' methods
              	myVerticalSlide.addEvent('complete', function() {
              		$('vertical_status').set('html', status[myVerticalSlide.hide]);
              	});
              		});

              au chargement de la page, je n’ai pas d’erreur, mais si je clique sur l’une des deux fonctions, j’ai le message d’erreur ci dessus...
                • 7497
                • 13 Posts
                C’est bon j’ai revu mon fichier Fxslide.js, ça fonctionne correctement. Merci pour votre aide.

                Je reste toutes fois preneur d’une solution pour charger mootools (avec ou non ajaxsearch) avant mon script... Merci d’avance

                fxSlide solutionné
                window.addEvent('domready', function() {  // Le script va s'effectuer quand tout le html sera chargé
                
                	//-vertical
                	var myVerticalSlide = new Fx.Slide('vertical_slide');
                	$('v_slidein').addEvent('click', function(e){
                	e = new Event(e);
                		myVerticalSlide.slideIn();
                		e.stop();
                	});
                
                	$('v_slideout').addEvent('click', function(e){
                	e = new Event(e);
                		myVerticalSlide.slideOut();
                		e.stop();		
                	});
                	
                  //automagic hide	
                	myVerticalSlide.hide();	
                });
                
                  • 5811
                  • 1,717 Posts
                  C’est du à AjaxSearch qui charge mootools après Fxslide.
                  Je ne suis pas sur de comprendre car AjaxSearch charge la totalité du pack mootools et pas seuleument les fonctions dont il a besoin (dont FX.slide).
                      // &jsMootools - Location of the mootools javascript library
                      $cfg['jsMooTools'] = 'manager/media/script/mootools/mootools.js';


                  C’est du à AjaxSearch qui charge mootools après Fxslide. Comment puis je remédier au problème, faire charger AjaxSearch (1.8 ) en premier, vu qu’actuellement c’est fait automatiquement par le snippet ou ne pas lui faire charger de façon à ce que je l’ajoute moi meme au head ?
                  Je ne comprends pas trop le sens de cette phrase. Php est un langage qui s’execute côté serveur et Javascript est lui interprété coté client. Ce qui veut dire que l’appel d’un fichier .php via l’url se traduit d’abord par l’execution sur le serveur du code du snippet ajaxsearch qui va ajouter dans le header la librairie mootools, et c’est une fois la totalité de la page produite que l’ensemble sera envoyé coté client. Le navigateur a la réception de la page va lui interpréter le javascript. Donc si tu charges un fichier js qui exécute la cmd window.addEvent(’domready’, function() { ... il sera executé au chargement de la page et à l’execution il aura besoin des fonctions FxSlide qui trouvera dans la bibliotheque mootools

                  Au final; quelle bibliothèque utilises tu ? la 1.11 ou 1.2 ?
                    • 7497
                    • 13 Posts
                    Bonjour Coroico,

                    J’utilise la 1.11...

                    J’ai tenté l’expèrience suivante :
                    j’ai retirer le snippet d’appel ajaxsearch de la template et j’ai ajouter l’appel du script de mootools dans le head (avant fxslide.js), mon effet fonctionne correctement, mais si je remets mon snippet et retire l’appel du sript, ça ne fontionne plus et j’ai l’erreur :
                    window.addEvent is not a function
                    fxslide.js()() fxslide.js (ligne 1)
                    [Break on this error] window.addEvent('domready', function() {