Message wird nicht im Theme angezeigt

Alles, was nicht in die anderen Foren passt, kannst du hier loswerden.
Antworten
RalphW
Beiträge: 99
Registriert: 20. Jun 2016, 14:42
Wohnort: Austria

Message wird nicht im Theme angezeigt

Beitrag von RalphW »

Ich habe ein Plugin erstellt und dabei folgendes Problem.
Ich prüfe die Berechtigung:

Code: Alles auswählen

if (!hasRole('Administrator')
{
	$gMessage->show($gL10n->get('SYS_NO_RIGHTS'));
}
Das funktioniert prinzipiell. Nur leider wird mir der Hinweis in einem weißen Fenster und nicht im Theme angezeigt.
Jetzt habe ich in der Message.php folgendes gefunden:

Code: Alles auswählen

        // Variablen angeben
        if(!$this->inline)
        {
            // nur pruefen, wenn vorher nicht schon auf true gesetzt wurde
            $this->inline = headers_sent();
        }

        if(!$this->inline)
        {

            // create html page object
            $page = new HtmlPage($headline);
            $page->hideMenu();
Zu Beginn ist inline false. Dann läuft es in die erste If-Bedingung und wird auf 1 / true gesetzt.
Dadurch wird die zweite If-Bedingung übersprungen und die Seite wird nicht erstellt.

Was bedeutet dieses headers_sent(); ?
Warum funktioniert das hier nicht?

EDIT: Ich habe alles auf einen Testserver mit https kopiert - dort funktioniert es wie erwartet.
RalphW
Beiträge: 99
Registriert: 20. Jun 2016, 14:42
Wohnort: Austria

Re: Message wird nicht im Theme angezeigt

Beitrag von RalphW »

Ich habe vermutlich das Problem gefunden: In einer Datei, die ich mit require_once einbinde war ?> mit 2x Enter am Ende.
Sobald das weg ist funktioniert es.
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Message wird nicht im Theme angezeigt

Beitrag von XimeX »

das ist der grund warum man in reinen php datein das ?> gar nicht setzen sollte ;-)
Antworten