Forum pragmaMx France 23 Mai 2012 à 20:52:07 *
Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.


Connexion avec identifiant et mot de passe
 
Accueil Aide Rechercher
Forum pragmaMx France  |  Thèmes  |  Thèmes & Design (Modérateurs: Diabolo, kroms, phi56360)  |  Fil de discussion: Fonction Recherche Avancé
Pages: [1]   Bas de page
Imprimer
Auteur Fil de discussion: Fonction Recherche Avancé  (Lu 5962 fois)
algebre
Team
Membre Senior Mx
******
Hors ligne Hors ligne

Messages: 342



« le: 11 Août 2007 à 18:43:08 »

Salut
si vous voulez ajouter un formulaire de recherche dans votre thème
ouvrez themes/votre-thème/functions.php
cherchez ce code :
Code:
$part[] = array("{LOGINFORM}", mx_theme_loginform());

    $part[] = array("{SHOWDATE}", mx_show_date());

    $part[] = array("{SHOWTIME}", mx_show_time());

ajouter après la dernière $part[] = array
Code:
$part[] = array("{ADVANCEDSEARCHFORM}", mx_advanced_searchform());
ensuite ajouter cette fonction juste avant ?> (la fin du fichier)
Code:
/**
 * Recherche Rapide
 */
function mx_advanced_searchform()
{

$eBoard='eBoard';// le nom de votre module eBoard
$smf='Forum';//le nom de votre module eBoard
$message=_REDIRECTMESS3;
$delay=1;
$out = '';
    if (mxModuleAllowed('Search')) {
        mxGetLangfile('Search');
$out = '
<form method="POST" name="' . _SEARCH . '">
<input type="text" name="T1"><br><br>
<select size="1" name="D1" >
<option selected value="no">'._SEARCHIN.' ?</option>';
if (mxModuleAllowed('News')) {
$out .='<option value="stories">'._NEWSARTICLES.'</option>';
}
if (mxModuleAllowed('Downloads')) {
$out .='<option value="Downloads">'._DOWNLOADS.'</option>';
}
if (mxModuleAllowed('Web_Links')) {
$out .='<option value="Web_Links">'._WEBLINKS.'</option>';
}
if (mxModuleAllowed($eBoard)) {
$out .='<option value="eBoard">Forum eBoard</option>';// Forum eBoard ou Forums ....
}
if (mxModuleAllowed($smf)) {
$out .='<option value="Forum">'._FORUM.'</option>';
}
if (mxModuleAllowed('Members_List') && MX_IS_USER) {
$out .='<option value="user">'._MEMBERSLIST.'</option>';
}
if (mxModuleAllowed('My_eGallery')) {
$out .='<option value="My_eGalley">'._GALLERY.'</option>';
}
$out .='</select><br><br><input type="submit" value="' . _SEARCH . '"></form>
';
global $D1, $T1;

    switch ($D1){
case "stories":
$url="modules.php?type=stories&days=0&sid=0&name=Search&query=".$T1;
mxRedirect($url, $message, $delay);
$url='';
break;
    case "user":
$url="modules.php?days=0&type=users&sid=0&name=Search&query=".$T1;
mxRedirect($url, $message, $delay);
$url='';
break;

case "Downloads":
$url="modules.php?name=Downloads&x=6&y=4&op=search&min=0&orderby=dateD&query=".$T1;
mxRedirect($url, $message, $delay);
$url='';
break;
   
case "Web_Links":
$url="modules.php?name=Web_Links&op=search&min=0&orderby=dateD&query=".$T1;
mxRedirect($url, $message, $delay);
$url='';
break;

case "eBoard":
$url="modules.php?days=0&type=forum&sid=0&name=Search&query=".$T1;
mxRedirect($url, $message, $delay);
$url='';
break;


   case "Forum":

$url="modules.php?action=search2&name=Forum&search=".$T1;
mxRedirect($url, $message, $delay);
$url='';
break;

    case "My_eGalley":
$url="modules.php?days=0&type=galerie&sid=0&name=Search&query=".$T1;
mxRedirect($url, $message, $delay);
$url='';
break;

}
}
       return $out;
}


reste a ajouter cette variable {ADVANCEDSEARCHFORM} la où vous voulez dans votre theme.html.
Exemple ICI
« Dernière édition: 11 Août 2007 à 18:47:15 par algebre » Journalisée
kawa
Invité
« Répondre #1 le: 12 Août 2007 à 14:10:24 »

wow, tres beau travail, je vais l'adapter.

Merci beaucoup et aussi merci pour la demo  Clin d'oeil


édité
Me revoila
Apret installation, je n'arrive pas a le faire fonctionner  Pleurs
« Dernière édition: 12 Août 2007 à 16:03:27 par kawa » Journalisée
algebre
Team
Membre Senior Mx
******
Hors ligne Hors ligne

Messages: 342



« Répondre #2 le: 23 Août 2007 à 19:58:31 »

salut
des amélioration pour la fonction, désormais les recherche se font dans 8 module différents
1- Content (Pages de contenu)
2- News (les Articles)
3- Downloads (Téléchargement)
4- Web_links (Annuaire des liens)
5- eBoard (Forum mxBoard)
6- Forum (Forum SMF)
7- Members_List (liste des membres)
8- My_eGalery (Galerie photos )

la fonction:
Code:
/**
 * Recherche Rapide
 */
function mx_advanced_searchform()
{

$eBoard='eBoard';// le nom de votre module eBoard
$smf='Forum';//le nom de votre module eBoard
static $url='';
$out = '';
    if (mxModuleAllowed('Search')) {
        mxGetLangfile('Search');
        if ($GLOBALS['currentlang'] == 'french') $contenu = 'Pages de Contenu';
else $contenu = _RESTOFSITE;
$out = '
<form method="POST" name="' . _SEARCH . '">
<input type="text" name="T1">
<select size="1" name="D1" >
<option selected value="no">'._SEARCHIN.' ?</option>';
if (mxModuleAllowed('Content')) {
$out .='<option value="Content">'.$contenu.'</option>';
}
if (mxModuleAllowed('News')) {
$out .='<option value="stories">'._NEWSARTICLES.'</option>';
}
if (mxModuleAllowed('Downloads')) {
$out .='<option value="Downloads">'._DOWNLOADS.'</option>';
}
if (mxModuleAllowed('Web_Links')) {
$out .='<option value="Web_Links">'._WEBLINKS.'</option>';
}
if (mxModuleAllowed($eBoard)) {
$out .='<option value="eBoard">Forum eBoard</option>';// Forum eBoard ou Forums ....
}
if (mxModuleAllowed($smf)) {
$out .='<option value="Forum">'._FORUM.'</option>';
}
if (mxModuleAllowed('Members_List') && MX_IS_USER) {
$out .='<option value="user">'._MEMBERSLIST.'</option>';
}
if (mxModuleAllowed('My_eGallery')) {
$out .='<option value="My_eGalley">'._GALLERY.'</option>';
}
$out .='</select><input type="submit" value="' . _SEARCH . '"></form>
';
if ( !isset ( $_POST['D1'])) $D1="";
else $D1= $_POST['D1'];
if ( !isset ( $_POST['T1'])) $T1="";
else $T1= $_POST['T1'];
    switch ($D1){
   
    case "Content":
$url="modules.php?topic=&days=0&type=content&sid=0&name=Search&query=".$T1;
header("Location: " . str_replace('&amp;', '&', $url));

break;

case "stories":
$url="modules.php?type=stories&days=0&sid=0&name=Search&query=".$T1;
header("Location: " . str_replace('&amp;', '&', $url));

break;
    case "user":
$url="modules.php?days=0&type=users&sid=0&name=Search&query=".$T1;
header("Location: " . str_replace('&amp;', '&', $url));
//mxRedirect($url, $message, $delay);

break;

case "Downloads":
$url="modules.php?name=Downloads&x=6&y=4&op=search&min=0&orderby=dateD&query=".$T1;
header("Location: " . str_replace('&amp;', '&', $url));

break;
   
case "Web_Links":
$url="modules.php?name=Web_Links&op=search&min=0&orderby=dateD&query=".$T1;
header("Location: " . str_replace('&amp;', '&', $url));

break;

case "eBoard":
$url="modules.php?days=0&type=forum&sid=0&name=Search&query=".$T1;

header("Location: " . str_replace('&amp;', '&', $url));

break;


   case "Forum":

$url="modules.php?action=search2&name=Forum&search=".$T1;

header("Location: " . str_replace('&amp;', '&', $url));

break;

    case "My_eGalley":
$url="modules.php?days=0&type=galerie&sid=0&name=Search&query=".$T1;
header("Location: " . str_replace('&amp;', '&', $url));

break;
    case "commentaire":
$url="modules.php?topic=&days=0&type=comments&sid=0&name=Search&query=".$T1;
header("Location: " . str_replace('&amp;', '&', $url));

break;
    }
}
    return $out;
}

Citation de: kawa
Apret installation, je n'arrive pas a le faire fonctionner
t'as surement oublier une étape,
1 etape: ajouter
Code:
$part[] = array("{ADVANCEDSEARCHFORM}", mx_advanced_searchform());

dans functions.php
2ème étape : ajouter la fonction suscité (fichier functions.php)
3ème étape ajouter la variable( - {ADVANCEDSEARCHFORM} -) dans theme.html
Journalisée
Pages: [1]   Haut de page
Imprimer
Forum pragmaMx France  |  Thèmes  |  Thèmes & Design (Modérateurs: Diabolo, kroms, phi56360)  |  Fil de discussion: Fonction Recherche Avancé
 
Aller à:  

Powered by SMF 1.1.15 | SMF © 2006-2009, Simple Machines

Plus