Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 03. Oktober 2014 14:58

Dancer62
Server-Pate
Ort: 26345 Bockhorn, Niedersachsen
Registriert: 08. November 2013
Beiträge: 414

[GELÖST] Seite wird nur als Text dargestellt

Hallo,

ich habe ein kleines Problem: als ich heute meine Login-Seite (Typ "Erweiterter Inhalt") aufrufen wollte, wurde diese plötzlich nicht mehr grafisch, sondern als Text dargestellt (gestern funktionierte das übrigens noch). Alle anderen Seiten werden werden korrekt dargestellt. Auch ein Rücksetzen des Anmeldungs-Template des Moduls "FrontEndUser" brachte keine Veränderung (obwohl ich mich auch nicht erinnern kann, das geändert zu haben).

Hat jemand eine Idee, was da passiert sein könnte bzw. wie ich feststellen kann, was da schief läuft und wie ich die Seite wieder grafisch angezeigt bekomme ???  sad

Beitrag geändert von Dancer62 (03. Oktober 2014 18:20)


Man ist so alt, wie man sich fühlt...

Offline

#2 03. Oktober 2014 19:02

Klenkes
Server-Pate
Ort: 89428 Syrgenstein
Registriert: 17. Dezember 2010
Beiträge: 1.424

Re: [GELÖST] Seite wird nur als Text dargestellt

Wenn die Seite ohne Styles angezeigt wird, wird meist das CSS nicht geladen, weil ein Fehler im BODY des Template auftrat, und damit der HEAD-Bereich mit dem CSS nicht mehr geladen werden konnte.

Schau mal in den Quelltext der fehlerhaft ausgegebenen Seite. Manchmal kann man dort noch einen Hinweis, oder den Fehler selbst sehen.
Die Browser zeigen sie oft nicht.

Hast du für die Loginseite ein separates Template?
Darin könnte der Fehler liegen.

Sagt das Adminlog etwas über den Fehler?

...

Ah... schon selbst gesehen:

<a href="" title="<br />
<b>Fatal error</b>: Call to a member function Lang() on a non-object in 
<b>/xxx/tmp/templates_c/
69Block_oben^198322abf559791879ece86fc6b69bda6458a780.content.Block_oben.php</b>
on line <b>45</b><br />

Fehler kommt aus dem Contentblock Block_oben

Beitrag geändert von Klenkes (03. Oktober 2014 19:07)

Offline

#3 04. Oktober 2014 12:18

Dancer62
Server-Pate
Ort: 26345 Bockhorn, Niedersachsen
Registriert: 08. November 2013
Beiträge: 414

Re: [GELÖST] Seite wird nur als Text dargestellt

Danke Klenkes,

das Problem war (und ist immer noch), dass ich den Logout-Button als Link in Button-Form neben die Menüleiste platzieren möchte, wie von NaN beschrieben.
Ich habe das für mich so gelöst, das ich im Abmeldungs-Template von FEU den Code modifiziert habe

{if isset($url_logout)}
   <p class="logout-button"><a href="{$url_logout}" title="{$FrontEndUsers->Lang('info_logout')}">{$mod->Lang('logout')}</a></p>
{/if}

und in meinem Stylesheet Folgendes hinzugefügt habe

.logout-button {
     position:absolute;
     right:-40px;
     top:112px;
     float:left;
     background-color:#243135;
     border-radius:3px;
     text-indent:0;
     border:1px solid #3F565C;
     display:inline-block;
     padding:6px 15px 10px 15px;
     color:#FFFFFF;
     font-family:Arial;
     font-size:14px;
     font-style:normal;
     height:16px;
     line-height:16px;
     width:60px;
     text-decoration:none;
     text-align:center;
}

Dadurch wird der Logout-Botton auch auf der Login-Seite korrekt funktionierend dargestellt, aber auf den restlichen Seiten nicht. Ändere ich das so, dass ich den Logout-Button aus dem Template heraus mittels

<div class="logout-button">
   {if isset($url_logout)}
      <a href="{$url_logout}" title="{$FrontEndUsers->Lang('info_logout')}">{$mod->Lang('logout')}</a>
   {/if}
</div>

aufrufe, so fehlt mir der Link (der Button wird lediglich ohne Funktion dargestellt).

Und wenn ich - wie von NaN vorgeschlagen - den Logout ins Menü einbinde, ist er zwar ständig da (solange ich eingelogged bin), aber auch die "Willkommen"-Nachricht und die "Meine Einstellungen ändern" erscheinen unterhalb des Menüs. Jetzt könnte ich Letztere zwar rausnehmen, aber dann fehlen mir diese Optionen gänzlich.

Als dritte Möglichkeit hatte ich mir gedacht, den Logout-Button im Abmeldungs-Template zu belassen und die "Willkommen"-Nachricht und die "Meine Einstellungen ändern" auf der Login-Seite darzustellen - was leider zu dem gesehenen Fehler führte...  sad

Wie kann ich jetzt das Eine machen, ohne das Andere lassen zu müssen hmm ???


Man ist so alt, wie man sich fühlt...

Offline

#4 04. Oktober 2014 13:02

Klenkes
Server-Pate
Ort: 89428 Syrgenstein
Registriert: 17. Dezember 2010
Beiträge: 1.424

Re: [GELÖST] Seite wird nur als Text dargestellt

Ist für mich alles nur schwer zu verstehen, da ich das Projekt im Kopf nicht parat habe.

Wenn es dir aber nur darum geht, beim Button neben dem Menü keine weiteren FEU Links zu zeigen, könntest du sie in ein DIV mit einer class packen, und im CSS über

nav .deine-class {display:none;}

einfach ausblenden.

Oder du könntest in der Logouttemplate auch nach dem page_alias fragen, also nach intern

{if $page_alias eq 'intern'}
Hier dann die Links Passwort vergessen...
{/if}

Also ganz grob in diese Richtung...

Offline

#5 04. Oktober 2014 14:53

Dancer62
Server-Pate
Ort: 26345 Bockhorn, Niedersachsen
Registriert: 08. November 2013
Beiträge: 414

Re: [GELÖST] Seite wird nur als Text dargestellt

Super Klenkes,

ich schaue mal, was mir in der Richtung so einfällt und berichte beizeiten darüber... smile


Man ist so alt, wie man sich fühlt...

Offline

#6 06. Oktober 2014 11:42

Dancer62
Server-Pate
Ort: 26345 Bockhorn, Niedersachsen
Registriert: 08. November 2013
Beiträge: 414

Re: [GELÖST] Seite wird nur als Text dargestellt

Tja, so einfach wie ich mir das dachte, ist es wohl doch ncht. Das Problem: der Logout-Button soll während des eingeloggten Zustands des Nutzers permanent in der Menüzeile, d.h. auf allen Seiten - aber eigenständig daneben (!!) - sichtbar sein.

Wenn ich den Logout-Button im Abmeldungs-Template von FEU definiere (siehe hier) und mittels CSS wie einen Button formatiere, dann wird er mir zwar auf der Login-Seite korrekt angezeigt, aber auch nur dort.

Binde ich hingegen den Logout-"Button" ins Menü ein, wie von NaN vorgeschlagen, dann könnte ich zwar den Logout-Button auf jeder Seite anzeigen lassen, müsste dann aber die anderen beiden Anzeigen, wie von Dir vorgeschlagen, ausblenden und (vielleicht) an anderer Stelle auf der Login-Seite (im eingeloggten Zustand) wieder anzeigen lassen.

Das Leben könnte so schön sein, hätte man nicht immer solche Probleme... roll


Man ist so alt, wie man sich fühlt...

Offline

#7 06. Oktober 2014 12:17

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.401

Re: [GELÖST] Seite wird nur als Text dargestellt

Trick 17  wink

{cms_module module="FrontEndUsers" assign="front_end_users_form"}

<div id="menu">

    ...

    {if isset($url_logout)}
        <a id="logout_button" href="{$url_logout}" title="{$FrontEndUsers->Lang('info_logout')}">
            {$FrontEndUsers->Lang('logout')}
        </a>
    {/if}

</div>

...

<div id="content">

    {$front_end_users_form}

</div>

Erklärung:
Zuerst FrontEndUsers aufrufen aber mit assign einer Variablen zuweisen (und nicht ausgeben).
Dann, da ja jetzt die Template-Variablen aus dem FrontEndUser-Aufruf auch im Seitentemplate sind, den Teil mit dem Logout-Link aus dem Logout-Formular direkt ins Seitentemplate hinter/neben/über/unter ... das Menü setzen.

Und später dann das Logout-Formular mit der Variable ausgeben.
(Da kannst Du dann den Logout-Button rausnehmen)


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12.2 unter PHP 7:
cmsms-1.12.2-php7.2-diff.tar.gz (nur die geänderten Dateien)
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)

Offline

#8 06. Oktober 2014 12:55

Dancer62
Server-Pate
Ort: 26345 Bockhorn, Niedersachsen
Registriert: 08. November 2013
Beiträge: 414

Re: [GELÖST] Seite wird nur als Text dargestellt

Hhmmm, ich habe Deine Anweisungen soweit umgesetzt und der Abmelde-Link erscheint auch im Menü. Allerdings kann ich ihn offensichtlich nicht per CSS als Button formatieren (so wie hier beschrieben). Und die Begrüßung / "Meine Einstellungen ändern" tauchen auf der Seite doppelt auf.

Macht es eigentlich einen Unterschied, ob ich im CSS dem Logout-Button das Format mittels Class oder ID zuweise ? Du hast es per ID gemacht, während ich eine Class zugewiesen habe.


P.S.: ich bewundere immer wieder Dein Fachwissen und die scheinbare Leichtigkeit, mit der Du Lösungen aus dem Hut zauberst... wink

EDIT: Peinlich, peinlich ops : ich habe einfach Deine Codezeile mit dem Logout-Button kopiert und dabei glatt übersehen, dass Du eine ID zugewiesen hast und ich ja von einer Class ausgegangen bin (obwohl ich das ja oben extra angesprochen habe). Außerdem hast Du einen Unterstrich verwendet, während ich einen Bindestrich benutzt habe.
Aber nachdem ich das jetzt korrigiert habe, funktioniert wenigstens der Logout-Button. Nur die anderen Einträge sind nach wie vor doppelt vorhanden (übriigens auch das Login-Formular).

Beitrag geändert von Dancer62 (06. Oktober 2014 13:07)


Man ist so alt, wie man sich fühlt...

Offline

#9 06. Oktober 2014 13:07

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.401

Re: [GELÖST] Seite wird nur als Text dargestellt

Macht es eigentlich einen Unterschied, ob ich im CSS dem Logout-Button das Format mittels Class oder ID zuweise ? Du hast es per ID gemacht, während ich eine Class zugewiesen habe.

Nöö. Ich wusste jetzt nicht, wie Du den Button ansprichst. Ich hab nur ne ID genommen, weil ich dachte, ein permanenter Logout-Button wird eh ur ein einziges Mal vorkommen. Du kannst Da nach eigenem Ermessen IDs oder Klassen vergeben wie du willst.

Und die Begrüßung / "Meine Einstellungen ändern" tauchen auf der Seite doppelt auf.

Hm. Schau nochmal ins Template, ob Du das FrontEndUsers-Modul nicht doch doppelt drin hast.

P.S.: ich bewundere immer wieder Dein Fachwissen und die scheinbare Leichtigkeit, mit der Du Lösungen aus dem Hut zauberst...

Nach acht Jahren CMSms würde es Dir genauso gehen wink


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12.2 unter PHP 7:
cmsms-1.12.2-php7.2-diff.tar.gz (nur die geänderten Dateien)
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)

Offline

#10 06. Oktober 2014 13:18

Dancer62
Server-Pate
Ort: 26345 Bockhorn, Niedersachsen
Registriert: 08. November 2013
Beiträge: 414

Re: [GELÖST] Seite wird nur als Text dargestellt

NaN schrieb:
Dancer62 schrieb:

Und die Begrüßung / "Meine Einstellungen ändern" tauchen auf der Seite doppelt auf.

Hm. Schau nochmal ins Template, ob Du das FrontEndUsers-Modul nicht doch doppelt drin hast.

Yep, war nochmal in einem {content}-Block der Login-Seite enthalten. Hab's rausgenommen und jetzt läuft es wie Schmidt's Katze... lol


Man ist so alt, wie man sich fühlt...

Offline

#11 06. Oktober 2014 17:25

Dancer62
Server-Pate
Ort: 26345 Bockhorn, Niedersachsen
Registriert: 08. November 2013
Beiträge: 414

Re: [GELÖST] Seite wird nur als Text dargestellt

Ähhmmmm, hab gerade festgestellt, dass das Ganze nur einen klitzekleinen Haken hat: das Login-Formular wird jetzt ständig (solange ich nicht eingeloggt bin) angezeigt - auf allen Seiten...

Könnte ich das ggfs. dadurch unterbinden, dass ich auf

und Zustand = 'logged out' (wie ??) abfrage, bevor ich die Variable {$feu_form} ausgeben lasse ? Dann müsste doch - zumindest in der Theorie - das Formular nur im ausgeloggten Zustand auf der Login-Seite erscheinen, oder ?

Nachtrag: ich habe jetzt den Block wie folgt geändert:

{if ($page_alias == 'intern') || (isset($url_logout))}
   {$feu_form}
{/if}

Dadurch wird das Login-Formular nur noch auf der Login-Seite ausgegeben, wenn der Nutzer ausgeloggt ist. Die Begrüßung / "Meine Einstellungen ändern" erscheint auf allen Seiten, aber das ist auch gewollt, damit der Nutzer seine Daten jederzeit (im eingeloggen Zustand) ändern kann.
Der Logout-Button erscheint ebenfalls nur im eingeloggten Zustand auf allen Seiten.

Beitrag geändert von Dancer62 (06. Oktober 2014 19:46)


Man ist so alt, wie man sich fühlt...

Offline

#12 07. Oktober 2014 08:33

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.401

Re: [GELÖST] Seite wird nur als Text dargestellt

Ich hätte jetzt vorgeschlagen, das FEU-Formular einfach in den Inhalt der "Login-Seite" zu packen. Das ist dann quasi wie eine "Profil-Seite". Ist man nicht eingeloggt -> login-Formular. Ist man eingeloggt -> Begrüßung/Einstellung ändern.

Für solche Abfragen, ob ein User eingeloggt ist, oder nicht, gibt es zwei Module: CustomContent und ToolBox. Letzteres bietet noch eine Menge weitere nützliche Webseiten-Tools.

Aber einfach nur den Login-Status abfragen, kann man auch ohne Zusatzmodule. FEU bietet dazu im Template das Objekt {$FrontEndUsers} (aus irgendeinem mir unerfindlichen Grund wird dieses Objekt dreimal dem Template zugewiesen roll mal als {$mod}, mal als {$feu} und mal als {$FrontEndUsers}; und dann noch zweimal im CGExtensions Modul ebenfalls als {$mod} und als {$FrontEndUsers} - jeweils als Kopie nicht als Referenz roll )

{if $FrontEndUsers->LoggedIn()}

    Eingeloggt

{/if}

Aber immer daran denken, dass dieses Objekt nur dann im Template verfügbar ist, wenn vorher das FrontEndUsers Modul aufgerufen wurde. Wenn man keine Ausgabe des Moduls selber haben will (wie z.B. eben weder Logout- noch Login-Formular) muss man das nicht mit assign kaschieren. Man kann auch einfach das Formluar "silent" wählen:

{cms_module module="FrontEndUsers" form="silent"}
{if $FrontEndUsers->LoggedIn()}

    Eingeloggt

{/if}

Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12.2 unter PHP 7:
cmsms-1.12.2-php7.2-diff.tar.gz (nur die geänderten Dateien)
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)

Offline