Autor Thema: Web-Schnellsuche auch in Dokumenten realisierbar?  (Gelesen 1370 mal)

Offline Oleg Razgul

  • Frischling
  • *
  • Beiträge: 1
Hallo zusammen,
ich hoffe, das Thema ist noch nicht zigfach durch, habe aber auf die Schnelle keinen entsprechenden Eintrag bei den Suchergebnissen gefunden.

Problem:
Eine Schnellsuche (Feld "Query", Button "Suchen") funktionieren, wenn man diese beiden Elemente in einer normalen Maske einbindet und diese via "?OpenForm" aufruft.
Natürlich funktioniert das Ganze nicht, wenn man die mit der Maske erstellten Dokumente aufruft ("?OpenDocument"), da hier Formularelemente nicht angezeigt werden.

Frage:
Was muss ich ändern, wenn ich diese Funktionalität mittels normalen HTML-Formularelementen nachbilden will und dabei dann der Feldwert von "Query", der vom User eingegeben wird, in Dokumenten einer bestimmten Ansicht suchen lassen will?


Aufbau bisher:

Ansicht "vwall_docs"

Teilmaske "Schnellsuche" mit folgenden Feldern:

Feld "query":
- bearbeitbar
- Text


Button "Los!":
- Formel:
@Command([FileSave]);
@Command([FileCloseWindow])


Feld "Start":
- bearbeitbar
- Zahl
- Vorgabewert: 1


Feld "$$Return":
- berechnet
- Text
- Formel:
DBName:=@ReplaceSubstring(@Subset(@DbName;-1); "\\";"/");
enor :=@URLEncode("Domino"; " AND ") ;
enor2 := @URLEncode("Domino"; " OR ") ;
AllPlat := "All Platforms | AIX | HP-UX | Linux | Macintosh | OS/2 | Solaris | Windows 95/98 | Windows NT | AS/400";

REM " Setup Query for Keyword";
tenor :=@If(lookfor = "1";@ReplaceSubstring(Query;" ";enor);lookfor="2";@ReplaceSubstring(Query;" ";enor2);@If(query !="" & lookfor="3";"\"" +Query+"\"";""));
qq :=@If(tenor = "field"; @ReplaceSubstring(tenor;"i";"?");tenor);


REM "Setup Query for Release";
srel :=@URLEncode("Domino"; @If(rel="- Release -";"";rel="Release 4";"(FIELD  Release CONTAINS Release 4 | 4)";rel="Release 5";"(FIELD Release CONTAINS Release 5 | 5)";rel="All Releases";"(FIELD Release CONTAINS Release 5 | 5 | Release 4 | 4 | All Releases)";""));

REM "Setup Query String for Categories";
scat := @URLEncode("Domino"; @If(category!="";"(FIELD Categories CONTAINS " +"("+@Implode(category;" OR ") +"))";""));

REM "Setup Query String for Platform";
splat := @URLEncode("Domino"; @If(platform!="";"(FIELD Platform CONTAINS " +"("+@Implode(platform;" OR ")+"))";""));

REM "Setup Query String for Date";
wdate :=@If(when="1";"<";when="2";"=";when="3";">";"");
sdate :=  @If(date = "";"";"[_CreationDate]"+ wdate+date);


REM "Setup Query String for Author";
sauth :=@URLEncode("Domino";@If(auth = "";"";"FIELD fauthor CONTAINS "+auth));

REM " Setup Search String";

fquery := @If(qq != "" & (srel != "" | scat != "" | splat != "" | sdate != "" | sauth != "");qq + enor;qq);
frel:= @If(fquery = "" & scat = "" & splat = "" & sdate = "" & sauth = "";srel;@If(srel != "" &(scat != "" | splat != "" | sdate != "" | sauth != "")) ;srel + enor;srel);
fcat :=@If(fquery = "" & frel ="" & splat = "" & sdate = "" & sauth = ""; scat;@If(scat != "" & (splat !="" | sdate != "" | sauth != ""));scat + enor;scat);
fplat :=@If(fquery = "" & frel ="" & fcat = "" & sdate = "" & sauth = "";splat;@If(splat !="" &(sdate != "" | sauth != ""));splat + enor;splat);
fdate :=@If(fquery = "" & frel = "" & fcat = "" & fplat = "" & sauth = "";sdate;@If(sdate !="" & sauth != "");sdate + enor;sdate);
fauth :=sauth;

FullQuery :=fquery + frel + fcat +fplat + fdate + fauth ;
"[/"+DBName+"/" + "vwall_docs" + "?SearchView&Query="+Query+"&SearchOrder=1&MaxResults =300&SearchWV=True&SearchFuzzy=False&Start=1&Count=300]"



Nachgebaut in HTML sieht es bislang so aus - und funktioniert natürlich nicht:

<FORM METHOD=post ACTION="http://domain/dbname.nsf/d44598c18455a3b5c1256cd7003d93ba?CreateDocument" NAME="_frmName">
<BR>
<INPUT NAME="query" VALUE="Suchwort" span style="color:#336699" SIZE="13">
<INPUT TYPE=submit VALUE="Los!">
</FORM>

Für hilfreiche Infos sag ich schonmal danke - momentan hab ich da echt ein Brett vor'm Kopf :-\

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz