Ergebnis 1 bis 16 von 16

Thema: Suchfunktion mit Weiterleitung

  1. #1
    Contao-Nutzer
    Registriert seit
    24.11.2015.
    Beiträge
    19

    Standard Suchfunktion mit Weiterleitung

    Guten Abend

    Ich habe als Anfänger eine grosse Frage.
    Ich möchte gerne, dass man durch eine Codeeingabe im Suchfeld, direkt auf die entsprechende Seite geleitet wird.
    So gebe ich z.B. den Code PM34565 ein und werde dann auf die entsprechende Seite weitergeleitet.
    Ist dies mit Contao überhaupt möglich? Gibt es ein vorgefertigtes Modul? Kann ich das mit dem Formular machen? Ist es mit der Erweiterung Metamodels möglich?
    Muss ich selber etwas schreiben? Mit was gehe ich das an? PHP, Javascript?
    Ich bin wie gesagt ein Anfänger mit Contao, PHP, Javascript, CSS etc.

    Kann mir jemand einen Tipp geben, was ich lernen müsste, damit ich dies selber machen könnte? Interesse wäre vorhanden... :-)

    Vielen Dank für eure Antworten.

    Gruss

    ATKMueller

  2. #2
    Contao-Fan Avatar von marcos
    Registriert seit
    09.02.2011.
    Ort
    Schweiz
    Beiträge
    575
    User beschenken
    Wunschliste

    Standard

    Hallo ATKMueller und willkommen im Contao-Forum

    Was willst du denn gerne bewerkstellingen? Einen Login mit Code-Authentifizierung (also darf man nur auf die Seite kommen, wenn der Code auch stimmt?), warum deine Idee mit dem Suchfeld, was ist die grunsätzliche Überlegung? Je nach dem kommen eben andere Lösungen in Frage

    Vielen Dank für deine Antwort

    Gruss
    Marco

  3. #3
    Contao-Nutzer
    Registriert seit
    24.11.2015.
    Beiträge
    19

    Standard

    Hallo Marco,
    Danke für deine schnelle Antwort.
    Ich bin Lehrer und möchte auf meinen Arbeitsblättern einen Code schreiben. z.B. 99999. Diesen Code sollen die Schülerinnen und Schüler auf meiner Webseite eingeben können. Sie landen dann auf der entsprechenden Seite, wo sie z.B. das Arbeitsblatt downloaden, Filme zum Thema anschauen, erweiterte Aufgaben lösen können etc.
    Die Eingabe sollte über eine Art Suchfeld gehen.

    Gruss und Dank

    ATKMueller

  4. #4
    Contao-Fan Avatar von marcos
    Registriert seit
    09.02.2011.
    Ort
    Schweiz
    Beiträge
    575
    User beschenken
    Wunschliste

    Standard

    Danke für die Info

    Sollen die Schüler alle auf die gleiche Seite gelangen oder gibt es pro Schüler eine individuelle Seite mit anderen Dokumenten usw.?
    Der Code muss ja vermutlich auch überprüft werden und bei einem falschen Code soll ne Fehlermeldung erscheinen, nicht? Sonst könnte man das auch mit einem normalen Link lösen?

    Je nach dem würde ich das über ein Textfeld oder über das Login-Formular von Contao lösen.

    EDIT: aha oder pro Code kommt man auf eine andere Seite mit anderen Dokumenten?

    Gruss
    Marco

  5. #5
    Contao-Nutzer
    Registriert seit
    24.11.2015.
    Beiträge
    19

    Standard

    Hallo Marco,
    Genau, pro Arbeitsblatt hat es einen Code. z.B auf dem Arbeitsblatt Fische 99987. Bei der Maslow-Pyramide z.B. 776. Der Code ist nicht auf die Schüler individualisiert. Ein Link ist zu aufwändig. Zudem steht der Code unter einem QR Code auf dem Arbeisblatt und dort hat es zu wenig platz für einen Link. :-)

    Danke für deine Hilfe

    ATKMueller

  6. #6
    Contao-Fan Avatar von marcos
    Registriert seit
    09.02.2011.
    Ort
    Schweiz
    Beiträge
    575
    User beschenken
    Wunschliste

    HTML

    Okay, alles klar

    Da du erwähnt hast, dass du noch Anfänger mit Contao und PHP bist würde ich dir folgende Variante empfehlen:

    Seitenstruktur:
    Eine Seite "Code-Weiterleitung" erstellen (Seite im Menü verstecken)

    Formulargenerator:
    Ein neues Formular erstellen, Weiterleitungsseite die soeben erstellte Seite "Code-Weiterleitung" auswählen, bei Übertragungsmethode POST wählen. Speichern. Dann bei diesem Formular ein Textfeld code erstellen. (Also Feldname: code)

    Anschliessend bei Layout>Templates ein neues Template anlegen: dazu einfach "Neues Template" wählen und "Template erstellen" klicken (egal welches ausgewählt ist). Dann das soeben erstellte Template (z.B. Template analytics_google.html5) umbenennen (Bleistift): z.B. zu code_weiterleitung. Danach auf das bearbeiten-Icon ganz rechts klicken und den Inhalt des Templates komplett löschen. Anschliessend folgenden PHP-Code einfügen:

    PHP-Code:
    <?php

    if(\Input::post('code')!==null){
        
        switch(\
    Input::post('code')){
            case 
    99987:
                
    $pageId 25;
                break;
            case 
    776:
                
    $pageId 26;
                break;
            case 
    100:
                
    $pageId 28;
                break;
            default:
                
    $pageId 1//z.B. Startseite. Default-Aktion, wenn es den Code nicht gibt.
        
    }
        
        
    $pageModel = \PageModel::findByPK($pageId); 
        
    $this->redirect($this->generateFrontendUrl($pageModel->row())); //Weiterleitung zur Seite mit der ID xy
        
    }

    ?>

    Anschliessend noch zu Artikel > Seite "Code-Weiterleitung" und ein neues Template vom Typ HTML erstellen. Da dann dein Template code_weiterleitung.html via Insert-Tag einbinden:
    Code:
    {{file::code_weiterleitung.html5}}

    So fertig
    Dein Formular leitet nun zur versteckten Seite code-weiterleitung und das PHP Script sorgt dann dafür, dass der Schüler aufgrund des Codes zur richtigen Seite weitergeleitet wird.
    Im Template code_weiterleitung.htm kannst du jetzt jeweils einfach die SWITCH-Anweisung mit Code und Seiten-ID erweitern. So kannst du die Zugehörigkeit zwischen Code-Nr und Seite steuern. (die Seiten-ID findest du bei der Seitenstruktur heraus. Einfach bei der gewünschten Seite auf das Info-Icon klicken.)



    Gruss
    Marco

  7. #7
    Contao-Nutzer
    Registriert seit
    24.11.2015.
    Beiträge
    19

    Standard

    Vielen, vielen Dank!
    Werde es morgen gleich testen!
    Werde dich, falls du dies erlaubst auf meiner Website erwähnen. Werde diese dann auch hier posten, wenn sie fertig ist.

    Noch einmal ein grosses Danke. Werde auf jeden Fall mein wissen auch in Foren teilen. Wird sich jedoch eher um Musik und Geschichte handeln.
    Nlch eine Frage: Wo soll ich beginnen? PHP? Javascript? Wo finde ich ein gutes Buch/Page, wo ich über Contao solche Problemstellungen finde?

    Danke

    ATKMueller

  8. #8
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    Geht das nicht viel simpler? So wie die Anforderungen beschrieben wurden würde es doch ausreichen, für jedes Thema eine in der Navigation versteckte Seite zu erstellen, die den zugehörigen Code in einem Inhaltselement oder im Alias enthält. Bei Eingabe des Codes wird diese Seite in den Ergebnissen genannt, gibt es keine zum Code passende Seite ist das Ergebnis der Suche: Nichts gefunden. Meine ungeprüfte spontane Idee.

  9. #9
    Contao-Fan Avatar von marcos
    Registriert seit
    09.02.2011.
    Ort
    Schweiz
    Beiträge
    575
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von ATKMueller Beitrag anzeigen
    Noch einmal ein grosses Danke. Werde auf jeden Fall mein wissen auch in Foren teilen. Wird sich jedoch eher um Musik und Geschichte handeln.
    Nlch eine Frage: Wo soll ich beginnen? PHP? Javascript? Wo finde ich ein gutes Buch/Page, wo ich über Contao solche Problemstellungen finde?
    Gerne doch

    Zu deiner Frage: es kommt drauf an, was du eher brauchst. In Zusammenhang mit Contao würde ich dir empfehlen, dich mit PHP auseinanderzusetzen.
    Im Footer dieses Forums oder auf der Contao-Seite sind einige Bücher aufgelistet. Ich würde dir das Buch "Websites erstellen mit Contao 3" von Peter Müller empfehlen. Das ist ziemlich umfassend mit vielen Praxisbeispielen.

    Gruss
    Marco

  10. #10
    Contao-Fan Avatar von marcos
    Registriert seit
    09.02.2011.
    Ort
    Schweiz
    Beiträge
    575
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von 3dr Beitrag anzeigen
    Geht das nicht viel simpler? So wie die Anforderungen beschrieben wurden würde es doch ausreichen, für jedes Thema eine in der Navigation versteckte Seite zu erstellen, die den zugehörigen Code in einem Inhaltselement oder im Alias enthält. Bei Eingabe des Codes wird diese Seite in den Ergebnissen genannt, gibt es keine zum Code passende Seite ist das Ergebnis der Suche: Nichts gefunden. Meine ungeprüfte spontane Idee.
    So wie ich das verstanden habe, hat ATKMueller mit der Suchfunktion mehr das Textfeld der Suche gemeint. Dein Vorschlag wäre auch eine Möglichkeit aber damit hast du einen Zwischenschritt, wenn du zuerst suchen und dann noch aus den Suchergebnissen die richtige Seite anklicken musst. Zudem kann es sein, dass auch mehrere Suchergebnisse auftauchen und dann muss der Schüler noch die richitge Seite wählen. Usability-mässig nicht gerade die beste Variante.

    Klar gäbe es noch schönere Varianten mit HOOK, eigenem Contao-Modul oder dass z.B. der Code direkt über ein eigenes Feld der Seite selbst zugewiesen wird* aber die vorgeschlagene Variante ist am schnellsten und einfachsten umgestzt für einen Contano-Neuling und funktioniert ja auch gut

    Gruss
    Marco

    * @ATKMueller, das wäre echt noch eine schönere Variante. Den Seiten bei der Seitenstruktur ein neues Textfeld "Code" geben. Dann kann der Code direkt im Backend bei der jeweiligen Seite eingetragen werden. Schau doch dazu mal folgende Seite an: Eigene Felder hinzufügen

  11. #11
    Contao-Fan Avatar von Contao-Academy
    Registriert seit
    09.04.2011.
    Ort
    Kempten
    Beiträge
    292
    Partner-ID
    10079
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Eine Alternative Methode ohne Programmierung wäre noch,
    dass du dir eine extra Software installierst und damit Links erstellst YOURLS.

    Am besten für YOURLS eine kurz Domain registrieren.
    Die Links würden dann so aussehen: meinedomain/9998

    YOURLS kann auch QR-Codes erzeugen.

    Außerdem kannst du nach belieben die Linkziele einstellen, also nicht nur auf deine Seite.
    Zusätzlich hast du noch eine Statistik wie oft der Link aufgerufen wird.

    Nur so ne Idee, wenn dir das mit dem PHP nicht zusagt.

  12. #12
    Contao-Nutzer
    Registriert seit
    24.11.2015.
    Beiträge
    19

    Standard

    @alle --> Vielen Dank
    @Marco
    Ich habe alles gemacht, wie du es geschrieben hast. War sehr klar und verständlich für mich, danke.
    Wie funktioniert das mit der Suche?
    Ist es richtig, dass ich das Formular, welches ich erstellt habe als Artikel einbinde?
    Wenn ich es so mache, erscheint bei der Eingabe des Codes (Identisch mit dem im Template) immer die Meldung "Seite nicht gefunden" obwohl ich die ID im Template angepasst habe und diese Seite mit eben dieser ID vorhanden ist...
    Hast du eine Idee, was ich falsch mache?

    Danke und Gruss

    ATKMueller

  13. #13
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.382
    Partner-ID
    10107

    Standard

    Folgende Extensions könnten für dich interessant sein:

    [short_urls]

    Damit kannst du beliebige Redirects über Contao verwalten, bspw. example.org/foo » example.org/lorem/dolor.html

    [form_code_redirect]

    Damit kannst du bei einem Texteingabefeld eines Formulars definieren, dass es als "Weiterleitungs Code" benutzt werden soll. Wenn ein Benutzer dort also zB "1a2b3c" eingibt wird er auf die Seite mit dem Alias "1a2b3c" weitergeleitet. Wenn keine Seite mit diesem Alias existiert, passiert nichts.

  14. #14
    Contao-Fan Avatar von marcos
    Registriert seit
    09.02.2011.
    Ort
    Schweiz
    Beiträge
    575
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von ATKMueller Beitrag anzeigen
    Ist es richtig, dass ich das Formular, welches ich erstellt habe als Artikel einbinde?
    Wenn ich es so mache, erscheint bei der Eingabe des Codes (Identisch mit dem im Template) immer die Meldung "Seite nicht gefunden" obwohl ich die ID im Template angepasst habe und diese Seite mit eben dieser ID vorhanden ist...
    Hast du eine Idee, was ich falsch mache?
    Ja, das Formular unter Artikel bei der gewünschten Seite einbinden (Elementtyp Formular). Beim Formular-Generator als Weiterleitungsseite die erstellte Seite "Code-Weiterleitung" auswählen. Die Seite "Code-Weiterleitung" muss aktiv sein (also grünes Auge) aber im Menü versteckt (Seitenstruktur > Seite "Code-Weiterleitung" > Experten-Einstellungen > Im Menü verstecken) sonst erscheint dir die Seite in der Navi und das möchtest du ja nicht.

    Aber schau dir sonst mal die Extension [form_code_redirect], die Spooky gepostet hat, an. Das wäre ja genau das, was du brauchst (danke Spooky, hab nicht gewusst, dass es die gibt )

  15. #15
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.382
    Partner-ID
    10107

    Standard

    Gibt's auch erst seit kurzem und wurde von jemand Anderen in Auftrag gegeben . Da wurde zufällig dasselbe benötigt.

  16. #16
    Contao-Nutzer
    Registriert seit
    24.11.2015.
    Beiträge
    19

    Standard Vielen Dank für die Hilfe

    Es funktioniert alles bestens!
    Ein grosses Danke an alle, welche mir bei diesem Problem geholfen haben.

    --> Muss leider ein neues Thema eröffnen. Das neue Thema istnur ein "nice to have" :-)

    Gruss

    ATKMueller

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •