Astuces Forumactif
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Membres connectés récemment
Voir tous les membres

[PhpBB2] Mettre une ancre sur chaque sujet contenu dans la liste des sujets


2 participants

Voir le sujet précédent Voir le sujet suivant Aller en bas

fascicularia
fascicularia
https://altitudetropicale.forums-actifs.com/

Messagefascicularia Mar 26 Nov 2019 - 19:54

  • Version du forum :
    PhpBB2
  • Templates modifiés :
    oui
  • Navigateur :
    Opera
Bonjour Philippe, 
une demande très certainement farfelue mais sait on jamais.

Est il possible via un js d'attribuer une ancre à chaque sujet contenu dans la liste des sujets pour installer un indexage alphabétique au dessus de la dite liste.

Le but serait d'éviter de faire défiler les pages pour trouver le premier sujet débutant par T ou tout autre lettre de l'alphabet.

Merci par avance pour ton aide.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Mer 27 Nov 2019 - 4:16

Hello Stéphane,
je serais bien incapable ce créer ce genre de script mon ami, mais par contre, je me souviens d'un script de mon ami Ange Tuteur qui ferait cela en un coup de main sur le bouton "rechercher":

https://fmdesign.forumotion.com/t1118-live-search#26404

Le script dans notre langue:
Code:
(function() {
          window.fa_ajax_search = {
            input_fields : 'input[name="search_keywords"]', // input elements you want to enable ajax searching on
        
            delay : 100, // delay before sending search
        
            // language settings
            lang : {
              title : 'Résultats de la recherche',
              searching : 'Recherches dans "{KEYWORDS}"...',
              no_results : 'Aucun résultat trouvé pour "{KEYWORDS}"',
              view_all : 'Voir dans la page de recherche avancée',
              close : 'Fermer'
            },
        
        
            // wait before sending the search
            queue : function (caller) {
              fa_ajax_search.clear(); // clear ongoing searches
        
              fa_ajax_search.wait = window.setTimeout(function() {
                fa_ajax_search.query(caller);
              }, fa_ajax_search.delay);
            },
        
        
            // create the search result popup
            createPopup : function (caller) {
              if (!fa_ajax_search.popup) {
                var popup = document.createElement('DIV');
        
                popup.className = 'fa_ajax_search-results';
                popup.innerHTML =
                  '<a href="javascript:fa_ajax_search.clear();" class="fa_ajax_search-close" title="' + fa_ajax_search.lang.close + '">X</a>'+
                  '<div class="fa_ajax_search-title">' + fa_ajax_search.lang.title + '</div>'+
                  '<ul class="fa_ajax_search-topics"></ul>'+
                  '<p style="text-align:center;">'+
                    '<a href="#" class="button1">' + fa_ajax_search.lang.view_all + '</a>'+
                  '</p>';
        
                fa_ajax_search.popup = popup;
              }
        
              fa_ajax_search.popup.getElementsByTagName('UL')[0].innerHTML = '<li>' + fa_ajax_search.lang.searching.replace('{KEYWORDS}', caller.value) + '</li>';
              fa_ajax_search.popup.lastChild.getElementsByTagName('A')[0].href = fa_ajax_search.url(caller);
              caller.parentNode.appendChild(fa_ajax_search.popup);
            },
        
        
            // submit a search
            query : function (caller) {
              fa_ajax_search.createPopup(caller);
        
              fa_ajax_search.request = $.get(fa_ajax_search.url(caller), function(d) {
                fa_ajax_search.showResults(caller, $('.topictitle', d));
              });
            },
        
        
            // create and return the search URL
            url : function (caller) {
              var form = $(caller).closest('form')[0],
                  where = form ? form.search_where : null;
        
              return '/search?search_keywords=' + encodeURIComponent(caller.value) + '*' + ( where ? '&search_where=' + where.value : '' );
            },
        
        
            // show the results in the popup
            showResults : function (caller, results) {
              var i = 0,
                  j = results.length,
                  list = fa_ajax_search.popup.getElementsByTagName('UL')[0],
                  frag = document.createDocumentFragment(),
                  li;
        
              if (j) {
                for (; i < j; i++) {
                  li = document.createElement('LI');
        
                  results[i].href = results[i].href.replace(/%2A$/, '');
        
                  li.appendChild(results[i]);
                  frag.appendChild(li);
                }
        
                list.innerHTML = '';
                list.appendChild(frag);
              } else {
                list.innerHTML = '<li>' + fa_ajax_search.lang.no_results.replace('{KEYWORDS}', caller.value) + '</li>';
              }
            },
        
        
            // initialize the selected input(s)
            init : function (node) {
              $(node).keyup(function() {
                if (this.value.length >= 3) {
                  fa_ajax_search.queue(this);
                } else {
                  fa_ajax_search.clear();
                }
              }).attr('autocomplete', 'off');
            },
        
        
            // clear and abort ongoing searches
            clear : function () {
              if (fa_ajax_search.wait) {
                window.clearTimeout(fa_ajax_search.wait);
                delete fa_ajax_search.wait;
              }
        
              if (fa_ajax_search.request) {
                fa_ajax_search.request.abort();
                delete fa_ajax_search.request;
              }
        
              if (fa_ajax_search.popup && fa_ajax_search.popup.parentNode) {
                fa_ajax_search.popup.parentNode.removeChild(fa_ajax_search.popup);
              }
            }
          };
        
        
          // search result styles
          $('head').append(
            '<style type="text/css">'+
              '.fa_ajax_search-results {'+
                'font-family:arial, verdana, sans-serif;'+
                'font-size:12px;'+
                'text-align:left;'+
                'white-space:normal;'+
                'background:#FFF;'+
                'border:1px solid #CCC;'+
                'box-shadow:0 6px 12px rgba(0, 0, 0, 0.175);'+
                'margin-top:3px;'+
                'position:absolute;'+
                'z-index:1;'+
              '}'+
        
              '.fa_ajax_search-title {'+
                'color:#FFF;'+
                'background:#69C;'+
                'font-size:16px;'+
                'height:25px;'+
                'line-height:25px;'+
                'margin:-1px -1px 0 -1px;'+
                'padding:0 40px 0 6px;'+
              '}'+
        
              '.fa_ajax_search-results a.fa_ajax_search-close {'+
                'color:#FFF !important;'+
                'background:none;'+
                'display:block;'+
                'position:absolute;'+
                'top:-1px;'+
                'right:-1px;'+
                'text-align:center;'+
                'text-decoration:none !important;'+
                'font-size:18px;'+
                'line-height:25px;'+
                'height:25px;'+
                'width:35px;'+
                'margin:0 !important;'+
                'padding:0 !important;'+
              '}'+
        
              '.fa_ajax_search-results a.fa_ajax_search-close:hover { background:#F33 !important; }'+
        
              '.fa_ajax_search-results > p { padding:3px; }'+
        
              '.fa_ajax_search-topics {'+
                'width:100%;'+
                'max-height:300px;'+
                'overflow-y:auto;'+
                'overflow-x:hidden;'+
              '}'+
        
              '.fa_ajax_search-topics {'+
                'color:#333;'+
                'border-top:1px solid #CCC;'+
                'border-bottom:1px solid #CCC;'+
                'padding:0 !important;'+
              '}'+
        
              '.fa_ajax_search-topics li {'+
                'padding:3px;'+
                'display:block !important;'+
                'line-height:14px !important;'+
                'margin:0 !important;'+
              '}'+
        
              '.fa_ajax_search-topics li:nth-child(even) { background:rgba(0, 0, 0, 0.05); }'+
              '.fa_ajax_search-topics li:nth-child(odd) { background:rgba(0, 0, 0, 0.1); }'+
        
              '.fa_ajax_search-topics a.topictitle, #ipbwrapper .fa_ajax_search-results > p > a {'+
                'font-size:12px;'+
                'font-weight:normal !important;'+
                'padding:0 !important;'+
                'background:none !important;'+
              '}'+
            '</style>'
          );
        
        
          // wait for the document to be ready before initializing
          $(function() {
            fa_ajax_search.init(fa_ajax_search.input_fields);
          });
        
        }());



Regarde l'effet sur ce forum dans la zone recherche en haut à droite .
Il suffit de taper "phpbb2" et hop  super


fascicularia
fascicularia
https://altitudetropicale.forums-actifs.com/

Messagefascicularia Mer 27 Nov 2019 - 14:38

bonjour Philippe, 

je savais qu'il s'agissait d'une idée farfelue  pasvuT

J'avais vu le système sur le forum d'ange tuteur mais il fonctionne avec le système de recherche natif de fa.
Perso, j'ai supprimé ce module de recherche  pour le remplacer par celui de google.

A la limite, ce système serait idéal s'il était possible de faire la recherche avec une seule lettre,  de pouvoir l'afficher au dessus de certaines sections et, que  la recherche ne prenne en compte que la section concernée .

Rien que le point 1 ne permet pas de se baser sur le système tel qu'il a été implanté par fa.

Je passe le sujet en résolu.

Merci pour ton aide et ta disponibilité.

Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Mer 27 Nov 2019 - 16:26

Re Stéphane,

A la limite, ce système serait idéal s'il était possible de faire la recherche avec une seule lettre,

C'est bien le cas Stéphane, dès la première frappe ,
tu dois avoir des suggestions sur ton fofo non ?

fascicularia
fascicularia
https://altitudetropicale.forums-actifs.com/

Messagefascicularia Jeu 28 Nov 2019 - 1:37

bonjour Philippe, 
pourtant sur le module search que tu as en haut du forum, en tapant j ou ja il ne s'active que si je rajoute un v pour me donner javascript .

De mon côté, sur mon forum principal, il ne s'active pas aussi bien sur le search contenu dans la toolbar que dans le module de google (l'id est différente).

Techniquement, je ne voulais activer  une recherche alphabétique que sur une section. si un membre veut faire une recherche par nom, genre ou autre , il lui suffit d'utiliser le module de google.

C'est pas grave Philippe.

Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Jeu 28 Nov 2019 - 4:02

Coucou Stéphane,
ok pas de soucis cher ami.


fascicularia
fascicularia
https://altitudetropicale.forums-actifs.com/

Messagefascicularia Jeu 28 Nov 2019 - 13:09

Bonne journée Philippe

Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Jeu 28 Nov 2019 - 15:26


Hello


Sujet résolu et déplacé dans le forum adéquate

A bientôt pour une prochaine demande clin oeil



Voir le sujet précédent Voir le sujet suivant Revenir en haut

Créer un compte ou se connecter pour répondre

Vous devez être membre pour répondre.

S'enregistrer

Rejoignez notre communauté ! C'est facile !


S'enregistrer

Connexion

Vous êtes déjà membre ? Aucun soucis, cliquez ici pour vous connecter.


Connexion

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum