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
Lesezeichen