Ticker-Ansicht

Taurec ⌂, München, Mittwoch, 05.02.2020, 07:17 (vor 1543 Tagen) @ QuerDenker1936 Views
bearbeitet von Taurec, Mittwoch, 05.02.2020, 07:24

Hallo!

in der Ticket-Ansicht steht trotz Anmeldung anstatt >user< ... logOUT, nur noch logIN?

Läuft die Tickeransicht noch 'irgendwie' auf dem alten Server?
Oder ist ein Datenbank-Präfix 'verbogen'?
Oder...?

Denn die Ansicht scheint nicht zu 'erkennen', dass Benutzer xyz aktuell eingeloggt ist...

Ein Klick auf einen der Beiträge führt dann aber wieder zur Anzeige von >user< .. logOUT


Der Grund ist, daß die Tickeransicht nicht in das Templatesystem (My Little Forum 2 nutzt hierfür Smarty) des Forums integriert ist.

Normalerweise ist es der Rahmen der index.php (hier forum.php) in den lauter Suptemplates integriert sind, die beim Aufrufen der entsprechenden Unterseite aufgerufen werden.

Der Rahmen mit dem Forumskopf und der Nutzerverwaltung bleibt bestehen, während im Inhaltsbereich die Unterseite aufgerufen wird.

Statt dessen hat der Forumstechniker in der ticker.php den Forumskopf nur nachprogrammiert, damit er irgendwie so aussieht, wie das eigentliche Haupttemplate. :-D
Es wird natürlich in diesem Imitat nicht die Session und das Cookie aufgerufen, d. h. nicht geprüft, ob der Nutzer angemeldet ist. Entsprechend erscheint nur der Loginlink.

Die Integration eines Subtemplates ist vergleichsweise komplex. Ich habe das für mein Forum schon mal gemacht.

Man muß in der index.php (hier forum.php), wo auch die Sessionvariablen aufgerufen werden und die Onlineprüfung des Nutzers durchgeführt wird, den entsprechenden Modus registrieren, z. B.:

case 'ticker':
include('includes/ticker.inc.php');

Dann muß im Includes-Unterordner die ticker.php als ticker.inc.php angelegt werden.
In der ticker.inc.php müssen die Variablen an die Templateengine weitergegeben werden.
Das ist ein ganzer Block von ca. einem Dutzend Befehle, damit alle Beitragsdaten angezeigt werden. Am Ende wird das Subtemplate aufgerufen, u. a. müßte dort so etwas stehen wie:

$smarty->assign('subtemplate','ticker.inc.tpl');
$template = 'main.tpl';

Dann muß im Unterordner /themes/gelb2019/subtemplates die Datei ticker.inc.tpl angelegt werden. Diese enthält die HTML-Befehle für den Seitenaufbau. Die in der ticker.inc.php an die Templateengine übergebenen Variablen (zwingenderweise Beitragstitel, Beitrags-IDs, Autorennamen, Datum und Uhrzeiten der Beiträge) werden dort durch eine spezielle Smarty-Codesprache als Platzhalter aufgerufen.

Sinnigerweise wird die Liste der Beiträge mit allen notwendigen Daten in der ticker.inc.php als multidimensionales Array ebenfalls an die Templateengine übergeben.
In der ticker.inc.tpl wird mittels des Smarty-Befehls

{foreach ...}
"HTML-Code für einen Tickereintrag"
{/foreach}

durch dieses Array per Foreach-Loop iteriert.

Viel Spaß dabei!

Vielleicht integriert der Techniker auch einfach irgendwie das Session-Cookie in die ticker.php.

Gruß
Taurec

--
„Es lebe unser heiliges Deutschland!“

„Was auch draus werde – steh’ zu deinem Volk! Es ist dein angeborner Platz.“


Weltenwende


gesamter Thread:

RSS-Feed dieser Diskussion

Werbung