com_ajax pour module

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

  • [RÉGLÉ] com_ajax pour module

    bonjour
    plusieurs fois que je repousse le chantier, mais bon, cela sera profitable pour les users
    je dois intégrer dans mon module le com_ajax pour automatiser l'affichage des autres éléments à partir de liste déroulante
    j'avoue que la page dans la doc joomla me laissen perplexe en non spécialiste
    je précise quand même que j'ai deux listes déroulantes, une première permettant de filtrer la seconde selon le résultat de la première
    si j'ai un peu compris
    - je dois mettre dans une fonction du helper l'appel des données
    voici ce que j'ai actuellement dans le default.php de /tmpl : un appel de données un form qui ramène un$post puis un nouvelle appel de données
    comment faire une fonction du helper avec cela ?

    ensuite il faudra ramener une url dans le form, mais là aussi pas tout compris ...

    la chose est visible ici http://ingall-niger.org/aujourd-hui/...nnaire-tasawaq

    Code PHP:
    <?php defined('_JEXEC') or die;

    jimport('joomla.html.html.bootstrap');

    JHtml::_('formbehavior.chosen''select');
    JHtml::_('formbehavior2.select2''.test1');

    $document =& JFactory::getDocument();
    $document->addCustomTag'<link rel="stylesheet" type="text/css" href="'JURI::base() . 'modules/mod_tasawaq/tmpl/tasawaq.css" title="default" />' );

    $uri JURI::getInstance();
    $url $uri->toString();

    use 
    Joomla\CMS\Factory;
    $app Factory::getApplication();
    $input $app->input;

    //*****liste déroulante lexique*****
    $db0 Factory::getDbo();
    $query0 $db0->getQuery(true);
    $query0->select($db0->quoteName(array('id''mot','ts_m''ts_g''ts_pl''ts_or''ts_com''tg_m','tg_g','tg_pl','tg_or','tg_com''lexique')))
    ->
    from($db0->quoteName('#__tasawaq'))
    ->
    order($db0->quoteName('lexique') )
    ->
    groupby ('lexique');

    $db0->setQuery($query0);
    $results0 $db0->loadAssocList("lexique");
    ?>
    <p><h4><strong>Découvrir la langue Tasawaq d'In Gall et de l'Ighazer</strong></h4></p>
    <p></p>

    <form method="POST" class="myform" action="<?php echo JRoute::_($url); ?>">
    <strong><select class="test1" style="width: 265px;" name="lexique">
    <option value=""> - tous les lexiques - </option>
    <?php foreach ($results0 as $row0) { ?>
    <option value="<?php echo $row0["lexique"];?>"
    <?php echo isset($_POST["lexique"])&&$_POST["lexique"]==$row0["lexique"]?" selected":"";?>>
    <?php echo $row0["lexique"];?>
    </option>
    <?php ?>
    </select>
    <input type="submit" value="Choisir" name ="choix"/>
    </strong>
    <?php $lexique $_POST["lexique"];?>


    <?php
    //*****liste déroulante mot*****

    $db Factory::getDbo();
    $query $db->getQuery(true);
    if (
    $lexique == null) {
    $query->select($db->quoteName(array('id''mot','ts_m''ts_g''ts_pl''ts_or''ts_com''tg_m','tg_g','tg_pl','tg_or','tg_com''lexique')))
    ->
    from($db->quoteName('#__tasawaq'))
    ->
    order($db->quoteName('mot') );

    $db->setQuery($query);
    $results $db->loadAssocList("mot");
    }
    else {
    $query->select($db->quoteName(array('id''mot','ts_m''ts_g''ts_pl''ts_or''ts_com''tg_m','tg_g','tg_pl','tg_or','tg_com''lexique')))
    ->
    from($db->quoteName('#__tasawaq'))
    ->
    order($db->quoteName('mot'))
    ->
    where($db->quoteName('lexique').' = '.$db->quote($lexique));

    $db->setQuery($query);
    $results $db->loadAssocList("mot");
    }

    ?>

    <br/>
    <strong><select class="test1" style="width: 265px;" name="mot">
    <option value=""> - chercher un mot et l'écouter - </option>
    <?php foreach ($results as $row) { ?>
    <option value="<?php echo $row["mot"];?>"
    <?php echo isset($_POST["mot"])&&$_POST["mot"]==$row["mot"]?" selected":"";?>>
    <?php echo $row["mot"];?>
    </option>
    <?php ?>
    </select>
    <input type="submit" value="Traduire" name ="traduire"/>
    </strong>
    <?php $mot $_POST["mot"];?>
    merci d'une aide
    LJ
    Dernière édition par laurent00 à 18/04/2021, 17h38
    mon avatar : http://www.ingall-niger.org

  • #2
    bonjour
    pour commencer simplement j'essaie de mettre le com_ajax sur ma seconde liste déroulante
    Code PHP:
    <?php defined('_JEXEC') or die;

    class 
    modTasawaqHelper {

    public static function 
    getAjax() {

    // Get module parameters
    jimport('joomla.application.module.helper');
    $db Factory::getDbo();
    $query $db->getQuery(true);

    $query->select($db->quoteName(array('id''mot','ts_m''ts_g''ts_pl''ts_or''ts_com''tg_m','tg_g','tg_pl','tg_or','tg_com''lexique')))
    ->
    from($db->quoteName('#__tasawaq'))
    ->
    order($db->quoteName('mot') );

    $db->setQuery($query);
    $results $db->loadAssocList("mot");
    }
    }
    mais que dois-je mettre dnas mon form pour appeler cette fonction dans mon form ?

    Code PHP:
    <form method="POST" class="myform" action="<?php echo JRoute::_($url); ?>">
    <strong><select class="test1" style="width: 265px;" name="mot">
    <option value=""> - chercher un mot et l'écouter - </option>
    <?php foreach ($results as $row) { ?>
    <option value="<?php echo $row["mot"];?>"
    <?php echo isset($_POST["mot"])&&$_POST["mot"]==$row["mot"]?" selected":"";?>>
    <?php echo $row["mot"];?>
    </option>
    <?php ?>
    </select>
    <input type="submit" value="Traduire" name ="traduire"/>
    </strong>
    <?php $mot $_POST["mot"];?>
    merci LJ
    mon avatar : http://www.ingall-niger.org

    Commentaire


    • #3
      Bonjour Laurent,

      Tu trouveras un post qui donne le principal sur :
      Bonjour, cela fait maintenant des semaines que je parcours le web et les multiples tutos et posts sur le sujet, mais malheureusement, je n'arrive pas à faire fonctionner ma requête ajax dans mon module. J'ai créé un module pour un site de vente de pneus. Il va donc récupérer largeur, diamètre, etc. Jusque là, j'avais

      Commentaire


      • #4
        merci, mais n'étant pas développeur, je ne suis même pas sur d'écrire, et la fonction du Helper et le js, comme il faut ...

        LJ
        mon avatar : http://www.ingall-niger.org

        Commentaire


        • #5
          je passe en Réglé pour le moment un
          Code PHP:
          onchange="javascript:this.form.submit();" 
          me suffira
          LJ
          mon avatar : http://www.ingall-niger.org

          Commentaire

          Annonce

          Réduire
          Aucune annonce pour le moment.

          Partenaire de l'association

          Réduire

          Hébergeur Web PlanetHoster
          Travaille ...
          X