Fork me on GitHub






Option Recherche du module SYSTEM ?
Régulier
Inscrit: 09/09/2005 23:49
Messages: 297
Bonjour,

Lorsque je tape un mot clef dans le système de recherche system de mon site, je m'aperçois que le résultat de la recherche ne s'effectue que dans les modules officiels,
n'y a t-il pas moyen d'élargir la recherche à tous mes modules perso ?
D'avance merci...

Posté le : 09/02/2007 15:22
Partager Twitter Partagez cette article sur GG+
Re: Option Recherche du module SYSTEM ?
Xoops accro
Inscrit: 04/02/2003 01:54
De Le Mans
Messages: 12273
Pour que la recherche puisse s'effectuer sur tes modules persos, il est nécessaire que :

a)ton fichier xoops_version.php contienne ces lignes
// Search
$modversion['hasSearch'] = 1;
$modversion['search']['file'] = "include/search.inc.php";
$modversion['search']['func'] = "moduleperso_search";

b) que la fonction include/search.inc.php soit présente et que son contenu correspond aux tables et champs de ton module

Posté le : 09/02/2007 15:28
Partager Twitter Partagez cette article sur GG+
Re: Option Recherche du module SYSTEM ?
Régulier
Inscrit: 09/09/2005 23:49
Messages: 297
merci pour ta réponse rapide !!

mais je voudrai éclaircir 2 choses :

1- il s'agit du fichier xoops_version.php du module system uniquement ou de tous les modules perso utilisés ?

2- Pareil pour le dossier include ?

Concenant le fichier search.inc.php, je ne l'ai pas, donc je dois le créer mais aurais-tu un exemple concrêt de contenu référant aux tables, ainsi je pourrai m'en inspirer pour le reproduire avec mes propres tables !!

Encore meci...

Posté le : 09/02/2007 16:45
Partager Twitter Partagez cette article sur GG+
Re: Option Recherche du module SYSTEM ?
Xoops accro
Inscrit: 04/02/2003 01:54
De Le Mans
Messages: 12273
Aucune recherche ne s'effectue dans le module system qui ne contient que des options de paramétrage et configuration.

Il s'agit bien du fichier xoops_version.php de chacun de tes modules.

Pour avoir un exemple de la fonction recherche, prend n'importe quel module comme mylinks par exemple.

Posté le : 09/02/2007 17:22
Partager Twitter Partagez cette article sur GG+
Re: Option Recherche du module SYSTEM ?
Semi pro
Inscrit: 10/11/2004 13:40
Messages: 1659
Bonsoir,

Est-il possible d'étendre la recherche à des pages personnalisées ?

Posté le : 10/02/2007 18:37

PS : Toujours faire une sauvegarde des fichiers avant de les modifier !
-------------------------------------------
http://www.aideordi.com
Partager Twitter Partagez cette article sur GG+
Re: Option Recherche du module SYSTEM ?
Xoops accro
Inscrit: 04/02/2003 01:54
De Le Mans
Messages: 12273
Xoops ne sait chercher que dans les tables des modules qui comportent la fonction recherche.

Faire des recherches dans des pages personnalisées ce n'est pas la même technique.

Mettre le contenu html de ses pages personnalisées, dans news, smartsection, pages, edito, etcc. permet d'ouvrir ces modules à la recherche.

Posté le : 10/02/2007 18:46
Partager Twitter Partagez cette article sur GG+
Re: Option Recherche du module SYSTEM ?
Régulier
Inscrit: 09/09/2005 23:49
Messages: 297
Bonjour Christian,

je viens de tester mon moteur de recherche en ayant crée les pages de codes que tu m'avais indiqué, j'ai également suivi l'exemple de :

fiche technique RECHERCHE

et voilà ci-dessous le résultat de ma recherche:

Résultats de la recherche

Mots clés
andaine
Nos partenaires

Pas de correspondance trouvée pour votre recherche


Cela signifie que mon module destination n'est pas encore pris en compte puisque n'apparait que le seul module xoops SMARTPARTNER !

Par contre je n'ai peut-être pas compris le coup de la table de ma base de donnée (j'y connais rien en BD) !
J'ai remplacé mymodule par le nom de mon module qui s'appelle par exemple "destination" puis j'ai mis à jour mon module.
Dans ma base, je remarque d'ailleurs qu'aucune table ne fait état de mes module perso dont destination, c'est normal ?
C'est donc cela qu'il me reste à créer ? si oui comment ?

Voici pour l'instant le fichier search.inc.php que j'ai crée :

<?php

function destination_search($queryarray$andor
$limit$offset$userid){ 

global 
$xoopsDB



// création de la requête

$sql "SELECT id, uid, title, created FROM 
"
.$xoopsDB->prefix("destination_table").
;

$sql .=" WHERE published>.""// 
si condition de filtre 

if ( $userid != ) { 

$sql .= " AND uid=".$userid.
"




if ( 
is_array($queryarray) && $count count($queryarray) ) { 


$sql .= " AND ((hometext LIKE '%$queryarray[0]%' 
OR bodytext LIKE '%
$queryarray[0]%' OR title 
LIKE '%
$queryarray[0]%')";

for(
$i=1;$i $count;$i++){ 

$sql .= $andor " 

$sql .= "(hometext LIKE '%$queryarray[$i]%' 
OR bodytext LIKE '%
$queryarray[$i]%' OR title 
LIKE '%
$queryarray[$i]%')" ; } $sql .= ") " 



$sql .= "ORDER BY created DESC" // si condition 
de tri 

$result 
$xoopsDB->query($sql,$limit,$offset); 



// création du tableau des résultats

$ret = array(); 

$i 0

while(
$myrow $xoopsDB->fetchArray($result)){ 

$ret[$i]['image'] = "images/forum.gif"


$ret[$i]['link'] = "index.php?id=".$myrow['id'].""
// lien sur la page qui affichera le texte

$ret[$i]['title'] = $myrow['title']; 

$ret[$i]['time'] = $myrow['created']; 

$ret[$i]['uid'] = $myrow['uid']; $i++; 

} return 
$ret

}

?>

Posté le : 21/02/2007 15:10
Partager Twitter Partagez cette article sur GG+
Re: Option Recherche du module SYSTEM ?
Admin Frxoops
Inscrit: 04/02/2003 16:46
De Blois
Messages: 3071
Je pense qu'il faut deja que tu retrouves le nom de la table sur laquelle va porter la recherche.
"destination_table" dans ton fichier doit exister.
De quel module es-tu parti pour ton module 'destination' ?
As-tu utilisé un script de clonage ?

Si tu veux t'assurer que ton script de recherche fonctionne ou pas il faudrait que tu actives le mode debug specifique. Tu verrais ainsi en rouge les problemes d'acces (ou pas) a mysql.

Posté le : 22/02/2007 07:07
Partager Twitter Partagez cette article sur GG+
Re: Option Recherche du module SYSTEM ?
Régulier
Inscrit: 09/09/2005 23:49
Messages: 297
En fait je travaille toujours sur la base d'un module vierge appelé mymodule.

xoops_version.php
$modversion['name'] = _MI_MYMODULE_NAME;
$modversion['version'] = 1.00;
$modversion['description'] = _MI_MYMODULE_DESC;
$modversion['credits'] = "TUNGSTEN Production";
$modversion['author'] = "Valery Joubault";
$modversion['help'] = "";
$modversion['license'] = "GPL see LICENSE";
$modversion['official'] = 0;
$modversion['image'] = "mymodule_slogo.png";
$modversion['dirname'] = "destination";

//Admin things
$modversion['hasAdmin'] = 0;
$modversion['adminmenu'] = "";

// Menu
$modversion['hasMain'] = 1;

// Search
$modversion['hasSearch'] = 1;
$modversion['search']['file'] = "include/search.inc.php";
$modversion['search']['func'] = "destination_search";


Or je ne retrouve pas dans mes tables le nom "destination" ?

Posté le : 22/02/2007 13:35
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

16 Personne(s) en ligne (13 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 16 | Plus ...