[Gelöst] FrontEndUser - Weiterleitung auf interne Seite

Hilfe zu Modulen und Tags
Post Reply
tinu
Forum Members
Forum Members
Posts: 20
Joined: Thu Sep 25, 2008 5:57 pm

[Gelöst] FrontEndUser - Weiterleitung auf interne Seite

Post by tinu »

Hoi zämä

Verlässt ein FEU den internen Bereich und will wieder da hin, kommt er/sie über die Login-Seite nicht mehr automatisch auf die "internen" Seiten (bei der Anmeldung aber schon).

Wie müsste der Code sein, der in der Login-Seite herausfindet, ob die Anmeldung schon gemacht (und dann auf die internen Seiten weiterleitet)?
Ich habe lange gesucht, aber bin nicht fündig geworden. Irgendwie müsste etwas zwischen {if $ccuser->loggedin()} und {/if} stehen.

Merci ür Antworten!

tinu
Last edited by tinu on Wed Oct 07, 2009 8:14 pm, edited 1 time in total.
NaN

Re: FrontEndUser - Weiterleitung auf interne Seite

Post by NaN »

Puh.
Jetzt muss ich das erstmal aufdröseln.
Ich vermute mal die internen Seiten sind nicht im Menü sichtbar.
Wenn sie das nämlich wären, wäre das alles kein Problem.
Wie sieht denn die Seitenstruktur aus?

Ich persönlich habe es letztens folgendermaßen realisiert...

Seitenstruktur:

1 Home (Startseite)
2 My Home (User-Seite mit Profil, Seitenalias beginnt z.B. mit "member_")
  2.1 weitere interne Seiten (Seitenalias beginnt ebenfalls immer mit "member_")
  2.2 ...
  2.3 ...
3 Contact
4 Impressum

Im Template müssen zunächst ganz oben die Module FrontendUsers und CustomContent aufgerufen werden.
Somit haben wir alle nötigen Variablen, um den Login-Status zu prüfen.
Dabei muss aber der Zwischenspeicher für alle Seiten deaktiviert werden.
Aus Sicherheitsgründen prüfe ich im Template zunächst, ob der User angemeldet/nicht angelemdet ist und ob er zufällig auf eine interne Seite zugreift oder nicht. Das mache ich gleich ganz oben nach FrontendUsers und CustomContent.
Ist er nicht angemeldet und greift auf eine interne Seite zu, wird umgeleitet auf z.B. die Startseite (oder irgendeine Login-Seite).

Edit: Dafür gibts bereits ein Plugin. Bsp: {redirect_page page="home"}. Macht genau das gleiche  :)

Weiterhin wird je nach Login-Status das Menu mit dem Parameter exlcude_prefix="member_" aufgerufen.
Somit werden interne Seiten nur im Menü angezeigt, wenn man eingeloggt ist, wodurch der User sehr leicht wieder auf seine interne Seite findet, ohne über irgendeine Login-Seite umgeleitet werden zu müssen.
Bsp:

Template:

Code: Select all


{* FrontendUsers und CustomContent *}

{cms_module module="FrontEndUsers" form="silent"}
{cms_module module="CustomContent"}


{* prefix des seitenalias auslesen und der variable $alias_prefix zuweisen
    der Modifikator truncate:7:'' bewrikt, dass nach der 7. Stelle des Seitenalias der Text abgeschnitten wird
    somit hat man als Wert für die Variable $alias_prefix z.B. nur die ersten 7 Zeichen 
    (7 deshalb, weil als Besipielprefix für die internen seiten "member_" verwendet wurde) *}

{assign var="alias_prefix" value=$page_alias|truncate:7:''}


{* alle nicht angemeldeten user, die auf einer interne seite zugreifen umleiten *}

{if $alias_prefix=="member_" && !$ccuser->loggedin()}
{redirect_page page="home"}
{/if}


{* interne Seiten im Menü für nicht angelemdete User ausblenden *}

{if !$ccuser->loggedin()}
	{menu ... excludeprefix="member_"}
{else}
	{menu ... }
{/if}

Hoffe das hilft Dir weiter.
Last edited by NaN on Wed Oct 07, 2009 11:15 am, edited 1 time in total.
cyberman

Re: FrontEndUser - Weiterleitung auf interne Seite

Post by cyberman »

Evtl. hilft dir das Plugin {redirect_page} weiter.

Alternativ könntest du den Aufruf des MenüManagers entsprechend modifizieren, dass nur nach einem Login die vollständige Menü-Struktur angezeigt wird, in etwa so

Code: Select all

{if $ccuser->loggedin()}
  {menu}
{else}
  {menu excludeprefix='intern_'}
{/if}
wobei der Seiten-Alias der internen Seiten mit "intern_" beginnen muss.
cyberman

Re: FrontEndUser - Weiterleitung auf interne Seite

Post by cyberman »

Upps, diesmal warst du schneller :) ...
NaN

Re: FrontEndUser - Weiterleitung auf interne Seite

Post by NaN »

cyberman wrote: Evtl. hilft dir das Plugin {redirect_page} weiter.
Ach da gibts schon ein Plugin für?
::)
cyberman wrote: Upps, diesmal warst du schneller :) ...
;D
tinu
Forum Members
Forum Members
Posts: 20
Joined: Thu Sep 25, 2008 5:57 pm

[Gelöst] FrontEndUser - Weiterleitung auf interne Seite

Post by tinu »

Yep NaN und cyberman, supi, genau das suchte ich! Und glaubt mir, wer von Euch schneller war, ist mir ziemlich wurscht - ich bedank mich bei beiden!

Ich hab jetzt 4 cmsms laufen, da wird's wieder einmal eine Frage geben ...

villi gruess

tinu
Post Reply

Return to “Module und Tags”