Opret brugerdefinerede Søgeformularer med det Formidable formularbyggerplugin. Dette giver dig mulighed for at søge (eller filtrere) formularindlæg i en visning.
- Opret en brugerdefineret søgeformular
- Udgiv søgeformular og resultatvisning
- Udgiv søgeformular og resultater på samme side
- Udgiv søgeformular og resultater på separate sider
- Skjul resultatvisning, indtil søgningen udføres
- Vis søgeudtryk efter en søgning
- yderligere indstillinger
- brug et afkrydsningsfelt i søgeformular
- søg datoer
- søg datointerval
- Fjern tomme felter fra søg URL
- Søg i alle felter
- Fjern dubletter fra dynamiske felter
- fejlfinding
Opret en brugerdefineret søgeformular
Lær at oprette en brugerdefineret søgeformular ved at følge anvisningerne i vejledningen nedenfor.
- hvis du ikke allerede har gjort det, skal du oprette en formular, der gemmer alle de formularposter, der skal søges. Dette vil være din Dataformular.
- hvis du ikke allerede har gjort det, skal du oprette en visning, der viser poster fra dataformularen oprettet i trin 1. Dette er Resultatvisningen. Visningen skal indstilles til at vise ‘alle poster’ eller ‘begge (dynamiske)’.
- offentliggør Resultatvisningen på en side ved hjælp af følgende kortkode:
Erstat ‘h’ med id ‘ et for Resultatvisningen. Kopier URL ‘ en til siden.
- Opret en ny formular, dette vil være din søgeformular. Tilføj så mange felter, som du gerne vil i formularen. Din søgeformular vil ende med at se sådan ud:
hvis der er dynamiske felter i din Dataformular, som du gerne vil søge, skal du tilføje et dynamisk felt til din søgeformular med identiske indstillinger.Hvis du gerne vil søge i værdier i en Repeater, anbefales det, at du først opretter en visning fra repeateren. - gå til søgeformularen ‘Indstillinger’ side. I afsnittet’ på Send ‘skal du vælge’omdirigere til URL’. Indsæt URL ‘ en for den side, hvor Resultatvisningen offentliggøres, i feltet URL.
- Tilføj en parameter til slutningen af omdirigering URL for hvert felt i søgeformularen. Disse parametre vil blive brugt til at overføre de værdier, der er indtastet i søgeformularen, til Resultatvisningsfiltrene.
- tilføj den første parameter til slutningen af din omdirigerings-URL, den skal se sådan ud:
?fname=
- Udskift ‘fname’ med enhver tekst. Hold dig væk fra navne som ‘post’, ‘p’, ‘dato’, ‘År’, ‘Måned’ og ‘navn’, da de ofte bruges af ordtryk.
- Erstat ‘h’ med id ‘et i feltet’ Fornavn ‘ i søgeformularen.
- for yderligere parametre, erstatte ‘?’med’ &’. Den første parameter skal begynde med en ?, skal hver ekstra parameter begynde med en &.
omdirigerings-URL ‘en skal se sådan ud, når du er færdig med at tilføje parametre:
Erstat’ 25′,’ 26 ‘og’ 27 ‘med felt-id’ erne fra søgeformularen. - tilføj den første parameter til slutningen af din omdirigerings-URL, den skal se sådan ud:
- gå til din søgeformular ‘indstillinger’.
det anbefales også at vælge ‘gem ikke poster, der er indsendt fra denne formular’ i din søgeformular ‘Indstillinger’ Generelt ‘under afsnittet’ på Send’.
- gå til Rediger Resultatvisningen. Rul ned til’ Avancerede indstillinger’, og tilføj et filter for hvert felt i din søgeformular. Hvis søgeformularen indeholder et fornavn, efternavn og et rullefelt, tilføjer du tre filtre, der ser sådan ud:
sørg for, at ‘fname’, ‘lname’ og ‘state’ matcher de parameternavne, du tilføjede til slutningen af omdirigerings-URL ‘ en i Trin 6.
Udgiv søgeformular og resultatvisning
der er et par forskellige måder at offentliggøre en søgeformular og resultatvisning på. Du vil måske have søgeformularen og resultatvisningen på den samme side eller på forskellige sider. Hvis de er på samme side, kan du skjule resultaterne, indtil en søgning udføres.
Udgiv søgeformular og resultater på samme side
hvis du ønsker, at søgeformularen og Resultatvisningen skal offentliggøres på samme side, skal du følge trinene her:
- Opret en brugerdefineret søgeformular, hvis du ikke allerede har gjort det. Sørg for, at din resultatvisning offentliggøres på en side.
- gå ind i Resultatvisningen ‘før indhold’. Indsæt søgeformularen i ‘Før indhold’.
Erstat ‘h’ med Søgeformularens ID.
- mens du er i Resultatvisningen, skal du rulle ned til ‘Avancerede indstillinger’. Indsæt søgeformularen i feltet’ Ingen indtastninger’.
Erstat ‘h’ med Søgeformularens ID.
- Klik På ‘Opdater’. Når brugeren nu besøger den side, hvor Resultatvisningen offentliggøres, vises søgeformularen og Resultatvisningen sammen.
Udgiv søgeformular og resultater på separate sider
hvis du vil tage brugeren til en separat søgeresultatside, efter at de har indsendt en søgeformular, skal du følge instruktionerne nedenfor.
- Opret en brugerdefineret søgeformular, hvis du ikke allerede har gjort det. Sørg for, at din resultatvisning offentliggøres på en side.
- Udgiv din søgeformular på en side ved hjælp af følgende kortkode:
Erstat ‘s’ med SØGEFORMULARENS ID.
- Klik På ‘Opdater’. Nu når brugeren sender en søgning på søgeformularen, bliver de omdirigeret til en side, hvor deres søgeresultater vises.
Skjul resultatvisning, indtil søgningen udføres
hvis du vil forhindre, at resultaterne vises, før en søgning udføres, skal du følge nedenstående trin.
- Opret en brugerdefineret søgeformular, hvis du ikke allerede har gjort det. Hvis du allerede har oprettet en brugerdefineret søgeformular, skal du sikre dig, at den ikke er i afsnittet Før indhold eller efter indhold i din visning.
- gå ind i din søgeformular ‘Indstillinger’, Tilføj dette til slutningen af omdirigerings-URL ‘ en:
&show_view=yes
din omdirigerings-URL skal se sådan ud:
- (valgfrit) hvis din resultatvisning har kortkoder, skal du tilføje ‘?vis_visning = ja ‘ til slutningen af det. Det skal se sådan ud:
<a href="?show_view=yes">Link Name</a>
- til sidst skal du offentliggøre søgeformularen og Resultatvisningen på en side. Erstat s med Formular-ID ‘et, og y med Vis-ID’ et.
sørg for at gemme siden, når du er færdig.
- nu når siden er besøgt, vil ingen poster være synlige, før en søgning er indsendt.
Vis søgeudtryk efter en søgning
når en søgning er udført, vil søgeformularen være tom som standard. Hvis søgeformularen og Resultatvisningen er på samme side, kan du udfylde søgeformularen med søgeudtryk, hvis du vil. Indstil en standardværdi for hvert felt ved at hente det tilsvarende søgeudtryk fra URL ‘ en som sådan:
brug nøjagtigt det samme param-navn som det, du brugte til feltet i omdirigerings-URL ‘ en. Hvis der er angivet et søgeudtryk for feltet, vises det i feltet. Ellers vil feltet være tomt. Når en bruger først ser søgeformularen, vil dens felter være tomme.
yderligere indstillinger
brug et afkrydsningsfelt i søgeformular
hvis du vil bruge et afkrydsningsfelt i søgeformularen, skal du tilføje denne kode til kodestykker plugin eller et undertema funktioner.php-fil.
søg datoer
hvis du medtager et datofelt i søgeformularen, kan du have unøjagtige søgeresultater. Derfor skal du ændre omdirigerings-URL ‘ en lidt i din søgeformular. Hvis datoen del af din formular ser sådan ud: mydate=, så vil du ændre det til: mydate=. Dette ændrer formatet på den dato, der bruges til søgning.
søg datointerval
hvis du vil søge ved hjælp af et datointerval, skal du følge instruktionerne nedenfor:
- i din søgeformular, tilføj to datofelter: Startdato og slutdato.
- i din dataformularvisning skal du kigge efter afsnittet Avancerede indstillinger og tilføje to filtre til dit datofelt.
- datofeltet er større end eller lig med
- datofeltet er mindre end eller lig med
/search-form/?startdate=&enddate=
Udskift 100 og 101 med deres respektive felt-id ‘ er.
Fjern tomme felter fra søg URL
hvis du vil fjerne søgefelter fra URL ‘en, når de ikke er udfyldt, kan du tilføje if-udsagn omkring hver parameter som denne:
http://your-sites-url/search-form?fname=&lname=&date=
disse felt-id ‘er er id’ erne fra søgeformularen. De bruges til at fjerne den del af URL ‘ en, hvis feltet er tomt i søgeformularen.
Søg i alle felter
hvis du vil have et felt i din søgeformular, der søger i alle felterne i din resultatvisning, inklusive felter, der ikke er synlige i visningen, skal du tilføje et tekstfelt til din søgeformular og sætte ‘?frm_search= ‘ i slutningen af din søgeformulars omdirigerings-URL.
http://your-sites-url/search-form?frm_search=
Erstat 25 med id ‘ et for tekstfeltet.
Fjern dubletter fra dynamiske felter
hvis du vil bruge et dynamisk felt i en søgeformular, der søger data fra et ikke-dynamisk felt, kan du få dublerede værdier vist i det dynamiske felt. Du kan bruge funktionen frm_remove_duplicates til at fjerne dublerede værdier fra det dynamiske felt i din søgeformular.
fejlfinding
følg disse trin for at fejlfinde din søgeformular, hvis du har problemer:
- Dupliker søgeresultatvisningen og erstat værdierne i filtrene med hardkodede værdier, som du mener skal fungere. Udskift for eksempel med rødt, og se derefter visningen for at sikre, at filtrene giver de forventede resultater.
- Kontroller, at param—værdierne matcher indtastningsværdierne fuldstændigt-afstand, tegnsætning, stavning, store bogstaver osv. Hvis visningen filtrerer korrekt nu, er problemet sandsynligvis med selve søgeformularen, og du kan springe til trin 6. Hvis visningen stadig ikke er filtreret korrekt, kan der være andre problemer med posterne, dataformularen eller selve visningen.
- se den side, hvor du omdirigeres efter indsendelse af søgeformularen. Se på URL ‘ en på siden, og sørg for, at parametrene vises korrekt, dvs.
?fname=Rob&lname=Smith&uState=Arizona
- hvis parametrene er tomme eller ikke ser rigtige ud, kan du prøve manuelt at ændre en af parametrene til en værdi af et af de felter, der søges, som du ved findes i en post, for eksempel ændre &farve= til & Farve=Rød.
- brug ikke nogen parametre, der kan reserveres af
. For eksempel ændre ?m=& p= til ?model=&pris= og opdater kortkoderne i visningsfilterindstillingerne.
for at sikre, at dine parameternavne ikke bruges af ordtryk, skal du sammenligne med forespørgselsparameterlisten i dokumenterne. - Kontroller, at der ikke er angivet filtre i visningen, der forhindrer, at poster vises, f.eks. bruger-ID-filtre eller begrænsninger for antallet af poster.
- Kontroller, at felt-ID-kortkoder i indstillingen “omdirigering til URL” i din søgeformular er de korrekte felt-id ‘ er fra felterne i søgeformularen, ikke dataformularen.
- Kontroller, at du søger efter den korrekte formular, og at der findes poster for den pågældende formular.
hvis du stadig har problemer efter at have gennemgået alle disse trin, skal du åbne en helpdesk-billet og fortælle os dine resultater fra ovenstående trin.