Page 1 of 1

[FR] Proposition d'un templates avec moteur de recherche

Posted: 2004-03-04 15:47:05
by Dano The Prophet
Salut à vous adepte de ce magnifique logiciel !

Comme vous j'ai décidé de mettre ma petite contribution à savoir un templates avec une zone de recherche. :grinking:

En effet si comme moi vous en aviez marre de tourner la molette pendant des heures pour voir toute votre liste je vous propose un petit script (qui marche) vierge à votre disposition :

Code: Select all

<head>
<script language="JavaScript">

<SCRIPT language=javascript>

var tjs_base=new TJS_InitBase("_self");

$$ITEM_BEGINtjs_base.Add("$$ITEM_FILEINDIV","$$ITEM_TRANSLATEDTITLE","$$ITEM_ORIGINALTITLE, $$ITEM_TRANSLATEDTITLE, $$ITEM_FORMATVIDEO, $$ITEM_ACTORS, $$ITEM_CATEGORY");
$$ITEM_END

function TJS_InitBase(target) {
	this.nb_item=0;
	this.target=target;
	this.Add=AddItem;
	this.Search=SearchItem;
}
function AddItem(page,desc,cle) {
	var nb = this.nb_item;
	var item = new Object;
		item.page=page;
		item.desc=desc;
		item.cle=cle;
	this[nb]=item;
	this.nb_item++;
}


function SearchItem(txt) {
// txt contient le texte de la recherche
	txt = unescape(txt);
	txt = txt.replace(/\+/g," ");
	var n=tjs_base.nb_item;
	var indice=-1;
	if (txt=="Saisir un mot clé") {alert("Entrez un mot pour la recherche"); }
	else{	
	    document.forms["tjs_search"].elements["mot"].value=txt;
		var Z=""; var nb=0;
		for (var i=0; i<n; i++) {
			if (tjs_base[i].cle.toUpperCase().indexOf(txt.toUpperCase(),0)!="-1") {
				Z+="<A target='"+tjs_base.target+"' href='"+tjs_base[i].page+"'>"+tjs_base[i].desc+"</A> <SMALL>("+tjs_base[i].page+")</SMALL><BR>"
				nb++;
			}
		}
		if (nb>0) {
			if (nb==1) {Z="Un résultat trouvé pour la recherche sur [<B>"+txt+"</B>] : <BR>"+Z;}
			else {Z=nb+" résultats trouvés pour la recherche sur [<B>"+txt+"</B>] : <BR>"+Z;}
		}else{Z="Aucun résultat pour la recherche sur [<B>"+txt+"</B>]<BR>Vérifiez l'orthographe ou essayez un autre mot clé !";}
		document.write(Z);
	}
}

function TJS_Search(f) {
	if (f.mot.value!=""){f.submit();}	
}

function TJS_PrintResult() {
	var url=document.location.href;
	if (url.indexOf("?mot=",0) > 0) {
		var mot=url.substring(url.indexOf("?mot=",0)+5);
		SearchItem(mot);
	}
}

</SCRIPT>
</head>

<body>

<FORM name=tjs_search METHOD=get action="VOTRE PAGE.html">
        <p align="center"><font face="Arial" size="4" color="#008080">
		<INPUT NAME="mot" SIZE=20 MAXLENGTH=35 value="Saisir un mot clé" onFocus="if (this.value=='Saisir un mot clé') {this.value=''}" onBlur="if (this.value==''){this.value='Saisir un mot clé'}"> 
        </font>
        <p align="center"><font face="Arial" size="4" color="#008080">
		<INPUT TYPE="button" name="bouton" VALUE="Rechercher" onClick="TJS_Search(this.form)"></font>
	</FORM> 
  <font face="Arial" size="4" color="#008080"> 
	<SCRIPT language=javascript>
		// Affichage des résultats éventuels.
		TJS_PrintResult();
	</SCRIPT></font></td>

</body>

</html>
Pour qu'il fonctionne, j'attire votre attention sur 2 choses:

* La première vous verrez dans ce script et plus particumièrement dans la partie <body> une ligne où est marqué "<FORM name=tjs_search METHOD=get action="VOTRE PAGE.html">", veuillez à modifier "VOTRE PAGE.html" par le nom de la page crée lors de l'exportation.

* La deuxième : vérifiez que dans les critères de recherches à savoir : $$ITEM_ORIGINALTITLE, $$ITEM_TRANSLATEDTITLE, $$ITEM_FORMATVIDEO, $$ITEM_ACTORS, $$ITEM_CATEGORY, aucun guillemets (") n'est présent aprés votre saisie dans la liste, car sinon il y aura un soucis qui m'a donné du fil à retordre.

Amusez-vous bien et n'hésitez pas à venir me contacter en cas de soucis !

pfffff trop impatient

Posted: 2004-03-04 15:58:45
by Dano The Prophet
C'est Re moi...

Dans l'impatience de vous faire partager ma découverte j'ai oublié de vous dire que ce script est à utiliser lors de l'exportation totale de votre liste donc il faut l'utiliser avec un templates en exportation individuelle...[/code]

Posted: 2004-03-10 18:37:21
by Guest
Salut!
Juste pour te remercier pour ton piti script que je trouve bien pratique :wink:
Il me plaît bien, je l'ai utilisé pour ma liste...
a+