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

#26 02. Oktober 2014 09:48

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

Re: [GELÖST] Wo ist der Logout-Button beim Modul FrontendUser ?

NaN schrieb:

Allerdings sollte das doch garnicht nicht mehr nötig sein, oder?
Immerhin ist dieser UDT bereits 4 Jahre alt.
Seiten, die nur für eingeloggte Benutzer sind, werden doch inzwischen sowohl von AdvancedContent als auch vom Inhaltstyp "Geschützter Inhalt" des FEU Moduls automatisch nicht mehr angezeigt. (siehe Nockenfells Antwort)

Das mit den 4 Jahren mag stimmen, allerdings habe ich das Problem, dass ich den (einen ?) Logout-Button neben der Menüleiste oben einbinden möchte (er muss nicht unbedingt ins Menü eingebunden werden, sondern kann auch separat davon erscheinen), solange ein Nutzer eingeloggt ist. Und ich hatte den vorherigen Beiträgen entnommen, dass ich dafür das Menü-Template editieren muss, was wiederum ein Abspeichern unter einem neuen Namen zur Folge hat.

Wenn Du jetzt natürlich sagst, dass das gar nicht mehr nötig sei (die "geschützten" Menüpunkte werden bei mir tatsächlich nur eingeloggten Nutzern angezeigt), freut mich das zwar, aber dadurch habe ich immer noch keinen Logout-Button... cry


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

Offline

#27 02. Oktober 2014 09:55

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

Re: [GELÖST] Wo ist der Logout-Button beim Modul FrontendUser ?

Für den Logout-Button brauchst Du keinen UDT.
Du rufst einfach nur das Logout-Formular des FrontendUsers Moduls im Menütemplate auf.
Und im Logout-Formular des FrontEndUsers Moduls packst Du den Logout-Button rein.
So wie hier beschrieben.


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

#28 02. Oktober 2014 10:39

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

Re: [GELÖST] Wo ist der Logout-Button beim Modul FrontendUser ?

NaN schrieb:

Für den Logout-Button brauchst Du keinen UDT.
Du rufst einfach nur das Logout-Formular des FrontendUsers Moduls im Menütemplate auf.

Das heißt ich füge, wie von Dir beschrieben,

  {FrontEndUsers form='logout' returnto='intern'}

in das Menü-Template 'cssmenu.tpl' ein. Das Problem: damit ich es im Menü-Template einfügen kann, muss ich das entsprechende Menü-Template erst importieren, dann editieren und schließlich unter einem anderen Namen (z.B. 'cssmenu_feu' ohne Endung .tpl) abspeichern. Rufe ich dann das Menü-Template in meinem Template mit

  {menu loadprops=0 template='cssmenu_feu'}

auf, so erhalte ich die Fehlermeldung
Fatal error: Call to a member function Execute() on a non-object in /webspaces/82/u005583/html/lib/classes/class.usertagoperations.inc.php(265) : eval()'d code on line 74

NaN schrieb:

Und im Logout-Formular des FrontEndUsers Moduls packst Du den Logout-Button rein.
So wie hier beschrieben.

Ich habe den Code im Abmeldungs-Template ersetzt durch

<li id="logout"><a href="{$url_logout}" title="{$mod->Lang('info_logout')}">{$mod->Lang('logout')}</a></li>

Trotzdem tut sich im Menü nichts. Ich kann zwar auf den Link klicken, der mich dann auch auslogged, aber eben nicht aus der Menüzeile heraus. Kann es evtl. an der Formatierung liegen ?


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

Offline

#29 02. Oktober 2014 12:25

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

Re: [GELÖST] Wo ist der Logout-Button beim Modul FrontendUser ?

Diese Fehlermeldung:

Fatal error: Call to a member function Execute() on a non-object in /webspaces/82/u005583/html/lib/classes/class.usertagoperations.inc.php(265) : eval()'d code on line 74

Sagt mir, dass da ein UDT ausgeführt wird.
Und der Fehler liegt in diesem UDT.
Dort wird vermutlich versucht, eine Datenbankabfrage auszuführen.
Scheinbar ist aber das Datenbankobjekt nicht vorhanden oder nicht richtig referenziert worden.
Wenn dieser Fehler immer nur nach Deinen Änderungen am Template auftritt, dann schau Dir Deine Änderungen nocheinmal ganz genau an.



EDIT:

Und tatsächlich!
Ein Blick in den anderen Beitrag mit dem UDT {feuShowMenu} zeigt mir in Zeile 74 des dort beschriebenen UDTs folgenden Code:

$db = cmsms()->db;
$dbresult = $db->Execute($sql);

Die Zeile "cmsms()->db" ist veraltet.
Richtig wäre

$db = &cmsms()->GetDb();
$dbresult = $db->Execute($sql);

Ergo: Hast Du da mehr gemacht, als nur den Logout-Button einzufügen...  roll

Beitrag geändert von NaN (02. Oktober 2014 12:33)


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

#30 02. Oktober 2014 13:13

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

Re: [GELÖST] Wo ist der Logout-Button beim Modul FrontendUser ?

NaN schrieb:

Und tatsächlich!
Ein Blick in den anderen Beitrag mit dem UDT {feuShowMenu} zeigt mir in Zeile 74 des dort beschriebenen UDTs folgenden Code:

$db = cmsms()->db;
$dbresult = $db->Execute($sql);

Die Zeile "cmsms()->db" ist veraltet.
Richtig wäre

$db = &cmsms()->GetDb();
$dbresult = $db->Execute($sql);

Ergo: Hast Du da mehr gemacht, als nur den Logout-Button einzufügen...  roll

Hhhmmm, so viel ich weiß, habe ich seinerzeit lediglich den Inhalt in diesen UDT eingefügt (bei meinen Programmierkenntnissen bzgl. CMSMS und Smarty wäre alles andere auch gar nicht möglich gewesen).   hmm

Aber trotzdem, danke für Deinen Hinweis NaN.

EDIT: Habe soeben Deinen Rat befolgt, und - es funktioniert ! Habe dann allerdings den Link aus dem Menü gelöst und als Button eingebunden - die Darstellung funktioniert auch, aber ich kann mich jetzt nicht mehr abmelden.
Ich habe den Code im Abmelde-Template durch folgenden Code ersetzt:

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

Dadurch fehlen mir zwar die Begrüßung und die Möglichkeit, meine Einstellungen zu ändern, aber das werde ich mal demnächst angehen. Weißt Du, warum der Button zwar korrekt dargestellt wird, aber offensichtlich keine Funktion (mehr) hat ?


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

Offline

#31 02. Oktober 2014 14:22

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

Re: [GELÖST] Wo ist der Logout-Button beim Modul FrontendUser ?

Hhhmmm, so viel ich weiß, habe ich seinerzeit lediglich den Inhalt in diesen UDT eingefügt

Ich sag ja auch nicht, dass Du den Fehler gemacht hast.
Ich sage nur, dass Du diesen UDT nicht mehr brauchst.

Weißt Du, warum der Button zwar korrekt dargestellt wird, aber offensichtlich keine Funktion (mehr) hat ?

Was genau soll denn der Browser machen, wenn Du draufklickst?
Dich abmelden?
Und woher soll er wissen, welche Anfrage er dazu jetzt an den Server senden soll?
Bei einem Link ist es klar: das href-Attribut.
Aber der Button allein macht keinen Sinn.
Input-Felder haben nur im Zusammenhang mit Formularen oder Javascript einen Sinn.

Entweder Du bastelst da ein Formular rein und verwendest die Variable {$url_logout} als action-Attribut (was eigentlich unsinnig wäre, weil Du sonst nichts weiter an den Server schicken willst - du willst ja nur die URL ausführen) oder Du nimmst einfach einen Link (mit einer ID) und formatierst ihn im Stylesheet so, dass er aussieht wie ein Button.


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

#32 07. Oktober 2014 06:23

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

Re: [GELÖST] Wo ist der Logout-Button beim Modul FrontendUser ?

Habe das jetzt wie hier beschrieben gelöst.  smile


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

Offline