Intégrer un code javascript dans une page Xml

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

  • [Problème] Intégrer un code javascript dans une page Xml

    Bonjour,

    Je rencontre une nouvelle difficulté. J'aimerai intégrer du JavaScript dans ma page xml. Ce code me permettrait de limiter le nombre de caractères dans mon "textarea". Ci dessous le code de ma page xml et plus bas, le code JavaScript permettant de limiter le nombre de caractère.

    Merci par avance pour votre aide!

    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <extension
    	type="module"
    	version="1.0"
    	client="site"
    	method="upgrade">
    	<name>mod_monprojetphoto</name>
    	<author>Maurice Poupard</author>
    	<creationDate>2014</creationDate>
    	<copyright>Copyright (C) 2014 Maurice Poupard.</copyright>
    	<license>GNU General Public License version 2 or later</license>
    	<authorEmail>maurice.poupard@gmail.com</authorEmail>
    	<version>1.0</version>
    	<description>MOD_MONPROJETPHOTO_DESC</description>
    	<files>
    		<filename module="mod_monprojetphoto">mod_monprojetphoto.php</filename>
    		<folder>tmpl</folder>
    		<filename>helper.php</filename>
    		<filename>index.html</filename>		
    	</files>
    	<languages>
    		<language tag="fr-FR">language/fr-FR/fr-FR.mod_monprojetphoto.ini</language>
    		<language tag="fr-FR">language/fr-FR/fr-FR.mod_monprojetphoto.sys.ini</language>
    	</languages>
    	<config>
    		<fields name="params">
    			<fieldset name="basic">
    				<field name="photo" type="media" default="" label="MOD_MONPROJETPHOTO_PHOTO_LABEL" description="MOD_MONPROJETPHOTO_PHOTO_DESC"/>
    				<field name="description" type="textarea" default="" label="MOD_MONPROJETPHOTON_DESCRIPTION_LABEL" description="MOD_MONPROJETPHOTO_DESCRIPTION_DESC" filter="raw"/>
    			</fieldset>
    		</fields>
    	</config>
    </extension>
    Code:
    <script type="text/javascript">
    /* <![CDATA[ */
    function limite(zone)
    {
        var max = 200;
        if(zone.value.length >= max)
        {
            zone.value = zone.value.substring(0,max);
        }
        var reste = max - zone.value.length;
        document.getElementById('max_desc').innerHTML = reste;
    }
    /* ]]> */
    </script>

  • #2
    Re : Intégrer un code javascript dans une page Xml

    Bonjour,
    Il me semble que tu dois intégrer ton code dans le traitement de ton formulaire, pas dans sa déclaration...
    Au moment de la validation de ton formulaire (vraisemblablement un fichier php ou javascript), tu auras alors la possibilité d'intégrer ton code de vérification avant de lancer ta requête ou ton traitement.
    Cordialement,
    Chabi01 - http://www.xlformation.com

    Commentaire


    • #3
      Re : Intégrer un code javascript dans une page Xml

      Salut,
      je peux me tromper mais je n'ai jamais vu de code JS implémenté via une insertion dudit code dans un fichier xml.
      Dans joomla, il existe toutes sortes de solutions pour réaliser cela.

      Regarde ici :
      J3.x:Adding JavaScript and CSS to the page - Joomla! Documentation
      http://docs.joomla.org/Adding_JavaSc...SS_to_the_page

      A priori, dans ton cas tu vas utiliser :
      $document->addScriptDeclaration
      PS : tu n'indiques pas dans quel environnement tu développes ton module : J3.X ou J2.5.X ?
      1er cas, mootools a quasiment disparu pour être remplacé par jQuery
      2e cas : mootools est encore bien présent
      Donc contexte assez différent.

      Autre solution

      Partant du principe que tu as créé un fichier monscript.js avec ton script :
      function limite(zone)
      {
      var max = 200;
      if(zone.value.length >= max)
      {
      zone.value = zone.value.substring(0,max);
      }
      var reste = max - zone.value.length;
      document.getElementById('max_desc').innerHTML = reste;
      }

      Il manque cette indication dans le tuto des docs :
      <files>
      <filename module="mod_monprojetphoto">mod_monprojetphoto.php </filename>
      <folder>tmpl</folder>
      <folder>assets</folder>
      <filename>helper.php</filename>
      <filename>index.html</filename>
      </files>
      CAD, la création d'un dossier nommé arbitrairement "assets" dans lequel tu peux ajouter un dossier "js" et un dossier "css".

      Une autre indication, spécifique aux modules et je pense, propre à joomla 3 (mais pas sur, faut tester),
      est omise dans le tuto des docs :

      dans le fichier tmpl/default.php
      tu peux appeler les fichiers js et css de cette manière
      JHtml::stylesheet('modules/'.$module->module.'/assets/css/styles.css');
      JHtml::script('modules/'.$module->module.'/assets/js/monscript.js');
      Si tu as besoin d'autres précisions, n'hésite pas.
      Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla base de connaissance : https://kb.joomla.fr

      Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer

      Commentaire


      • #4
        Re : Intégrer un code javascript dans une page Xml

        Envoyé par ghazal Voir le message
        Salut,
        je peux me tromper mais je n'ai jamais vu de code JS implémenté via une insertion dudit code dans un fichier xml.
        Dans joomla, il existe toutes sortes de solutions pour réaliser cela.

        Regarde ici :
        J3.x:Adding JavaScript and CSS to the page - Joomla! Documentation
        http://docs.joomla.org/Adding_JavaSc...SS_to_the_page

        A priori, dans ton cas tu vas utiliser :


        PS : tu n'indiques pas dans quel environnement tu développes ton module : J3.X ou J2.5.X ?
        1er cas, mootools a quasiment disparu pour être remplacé par jQuery
        2e cas : mootools est encore bien présent
        Donc contexte assez différent.

        Autre solution

        Partant du principe que tu as créé un fichier monscript.js avec ton script :



        Il manque cette indication dans le tuto des docs :

        CAD, la création d'un dossier nommé arbitrairement "assets" dans lequel tu peux ajouter un dossier "js" et un dossier "css".

        Une autre indication, spécifique aux modules et je pense, propre à joomla 3 (mais pas sur, faut tester),
        est omise dans le tuto des docs :

        dans le fichier tmpl/default.php
        tu peux appeler les fichiers js et css de cette manière



        Si tu as besoin d'autres précisions, n'hésite pas.
        Merci pour tes précieux renseignement. Je boss actuellement avec la version 2.5 mais envisage dans un futur proche de migrer dans la version 3. J'ai utilisé la seconde proposition à savoir intégrer la ligne de code suivante
        Code:
        JHtml::script('modules/'.$module->module.'/assets/js/script.js');
        dans le fichier tmpl/default.php et créer un fichier script.js. Malheureusement, le code ne fonctionne pas.
        N'existe-il pas une méthode différente permettant de limiter le nombre de caractère directement lors de la rédaction dans la partie administration de mon module ?

        Merci encore à vous deux pour vos réponses

        Commentaire


        • #5
          Re : Intégrer un code javascript dans une page Xml

          Scuse, je n'avais pas compris, tu veux que ton script s'active dans la partie Admin/backend de ton module ?
          Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla base de connaissance : https://kb.joomla.fr

          Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer

          Commentaire


          • #6
            Re : Intégrer un code javascript dans une page Xml

            Envoyé par ghazal Voir le message
            Scuse, je n'avais pas compris, tu veux que ton script s'active dans la partie Admin/backend de ton module ?
            Je ne pensais pas à ça. Mais je pense ne pas avoir respecté la méthode d'activation du script, à savoir intégrer la ligne de code ci-dessous dans mon fichier /tmpl/default.php.

            Code:
            onkeyup="limite(this);" onkeydown="limite(this);"
            Après, je ne sais pas précisément où je dois l'intégrer dans ma ligne de code.
            En voici un extrait tiré de mon fichier /tmpl/default.php.
            Code:
            <?php if ($description): ?>
            		<div id="description"><p><?php echo htmlspecialchars($description); ?></p></div>
            	<?php endif; ?>
            Merci encore pour ton aide

            Commentaire


            • #7
              Re : Intégrer un code javascript dans une page Xml

              Aujourd'hui, avec les frameworks JS, il n'est plus indispensable d'introduire un appel JS dans le DOM (ou plus simplement mais moins précis, dans l'HTML).
              Genre :
              onkeyup="limite(this);
              Un bon script gère ceci en interne - cad dans le code du script JS.
              Il reste encore des traces de cette méthode dans joomla, à mon grand regret.

              MAIS ...
              JQuery a ceci de pratique, c'est qu'on peut toujours trouver un script qui fait ce qu'on veut faire.
              Regarde celui-ci :
              jQuery Max Length Reference
              http://keith-wood.name/maxlengthRef.html

              qui me parait correspondre à ce que tu veux.

              Dans le cas de ce script (qui s'appuie sur jQuery),
              si ton module est pour ton propre usage et que jQuery est déjà présent dans ton template par ex,
              tu peux appeler les fichiers CSS et JS de cette manière ( toujours dans default.php) :

              // no direct access
              defined('_JEXEC') or die;
              $document = JFactory::getDocument();
              $doc->addStyleSheet(JURI::root() . 'modules/mod_tonmodule/css/tacss.js');
              $document->addScript(JURI::root() . 'modules/mod_tonmodule/js/tonscript.js');
              Méthode classique qui fonctionne encore en J3.

              Si ce n'est pas le cas, c'est un peu une autre histoire.
              Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla base de connaissance : https://kb.joomla.fr

              Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer

              Commentaire


              • #8
                Re : Intégrer un code javascript dans une page Xml

                Dsl pour la lenteur de ma réponse. J'ai résolu mon problème grâce à tes conseils. Je t'en remercie. Une dernière question qui n'a aucun rapport avec la précédente. Je voulais savoir s'il existait un module/pluging permettant de personnaliser l'arrière plan de mon template?

                Commentaire


                • #9
                  Re : Intégrer un code javascript dans une page Xml

                  module/pluging permettant de personnaliser l'arrière plan de mon template
                  Le module de Lomart, un membre du forum :

                  webbricks.org - bgMax - Image de fond ajustée
                  http://webbricks.org/bricks/bgMax/

                  Discussion sur le forum qui lui est consacré :
                  bgMax, un module pour gérer l'image de fond
                  http://forum.joomla.fr/showthread.ph...-image-de-fond

                  ou

                  PRI Background - Joomla! Extensions Directory-- pour J!3
                  http://extensions.joomla.org/extensi...ckground/27005
                  Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla base de connaissance : https://kb.joomla.fr

                  Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer

                  Commentaire


                  • #10
                    Re : Intégrer un code javascript dans une page Xml

                    Dsl, je voulais savoir s'il était possible d'avoir un pluging/module capable de personnaliser l'arrière plan en fonction de l'utilisateur inscrit sur le site, voire un petit onglet qui apparait sur le côté et qui permet de personnalisé la couleur du site, un peu comme celui-ci (mais uniquement pour l'arrière plan )
                    http://demo.joomlashine.com/joomla-t.../pro/index.php

                    Merci par avance pour tes réponses

                    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

                    Partenaire de l'association

                    Réduire

                    Hébergeur Web PlanetHoster
                    Travaille ...
                    X