Hi also ich bin an einer Extension am arbeiten die eine Informationsdatenbank für Funkrufzeichen ist.
Anzuschauen hier auf dieser Seite:
Testseite für die Extension
Dort kann man auf den Begriff "Rufzeichendatenbank" klicken und es öffnet sich eine Sucheingabe wo man das gesuchte Funkrufzeichen eingeben kann.
Im Moment auf der Testseite aber nur von zwei Account. Einmal kann man nach Bombe suchen oder 1a.
Jeder Benutzer kann 5 Rufzeichen eintragen und dazu angaben machen in seinen Benutzereinstellungen.
Das Grundgerüst und die Funktionen stehen wie gewünscht.
Aber der Seitenbetreiber möchte zusätzlich ein Eingabe Feld in der Navigationsleiste haben wo man den Suchbegriff direkt eingeben kann.
Also ich kann dort ein Input Feld reinsetzen mit einem Icon und wenn man den Suchbegriff eingibt kann ich den auch in die listener.php reinhohlen.
Das Problem ist ich hab keine Idee wie ich die Ergebnis Seite aufrufen soll. Also im Prinzip soll bei dem Input Feld dasselbe Am ende zu sehen sein wie wenn man auf den Begriff "Rufzeichendatenbank" klickt und dann dort das Rufzeichen sucht.
Ich hoffe ich konnte mein anliegen gut genug ausdrücken. Da die Extension an sich nicht für die Öffentlichkeit ist kann man diese auch nirgend herunterladen kann aber gern gewünschte Dateien sofern benötigt hier per Pastebin zur Verfügung stellen.
Ich hab hier erst mal die listner.php ins pastebin geladen weil sich da alles abspielt.
listener.php
und zusätzlich die Datei für den Seitenaufruf:
main.php
Separate Seite bei Aufruf einer Funktion öffnen?
- Mike-on-Tour
- Supporter
- Beiträge: 1277
- Registriert: 13.01.2020 21:09
- Kontaktdaten:
Re: Separate Seite bei Aufruf einer Funktion öffnen?
Ich habe jetzt nicht verstanden, wieso du dafür den Event-Listener benötigst. Das zusätzliche Suchfeld ist doch in ein
Das entsprechende Skript (Controller) muss natürlich in der
<form ...>
Konstrukt eingebunden, und dort kannst du doch als action=""
das Skript aufrufen, das auch in der von dir bereits implemntierten Suche die Anfrage abarbeitet und ausgibt.Das entsprechende Skript (Controller) muss natürlich in der
routing.yml
entsprechend definiert sein.Re: Separate Seite bei Aufruf einer Funktion öffnen?
Ok. das skript welches die Suche und ausgabe verabeitet ist ja die listener.php ´. Wie gesagt wenn ich ein input feld in die navbar satze z.b. so:
das hier jetzt in der Navbar.html platziert:
und das in der listener:
Damit könnte ich das ausgeben was ich in das input feld eingebe.
Das Problem ist nicht das ich den wert in der listener ausgebe sondern das der begriff als suchbegriff genau so zu dem ergebnis führt als wenn man ihn in dem anderen Suchfeld eingeben würde.
Die search result seite habe ich in der routing.yml ja auch eingetragen.
pastebin/?mode=view&s=13
das hier jetzt in der Navbar.html platziert:
Code: Alles auswählen
<form method="post" action="{{ S_ACTION }}"{{ S_FORM_ENCTYPE }}>
<input name="test" size="20" value="{{ TEST }}">
<button class="button button-search" type="submit" >
<i class="icon fa-search fa-fw" aria-hidden="true"></i><span class="sr-only"> Test </span>
</button>
</form>
Code: Alles auswählen
echo $this->request->variable('test', '');
Das Problem ist nicht das ich den wert in der listener ausgebe sondern das der begriff als suchbegriff genau so zu dem ergebnis führt als wenn man ihn in dem anderen Suchfeld eingeben würde.
Die search result seite habe ich in der routing.yml ja auch eingetragen.
pastebin/?mode=view&s=13
- Mike-on-Tour
- Supporter
- Beiträge: 1277
- Registriert: 13.01.2020 21:09
- Kontaktdaten:
Re: Separate Seite bei Aufruf einer Funktion öffnen?
Dazu brauchst den per "request" eingelesenen Text doch nur als Eingabe für deine Suchfunktion zu nehmen, dann passiert damit genau dasselbe wie mit einer Eingabe in dem anderen Suchfeld.chris1278 hat geschrieben: 24.04.2023 17:39 Das Problem ist nicht das ich den wert in der listener ausgebe sondern das der begriff als suchbegriff genau so zu dem ergebnis führt als wenn man ihn in dem anderen Suchfeld eingeben würde.
Und damit nicht beide Sucheingaben denselben "name"-Eintrag im
input
-Tag haben, definierst du eben zwei Funktionen (inkl. routing-Eintrag), die jeweils eine der beiden Eingaben abfragen und die Eingabe an die eigentlich verarbeitende Funktion weitergeben. Dann hast du eine Arbeits-Funktion und zwei Such-Eingaben.