+ Antworten
Ergebnis 1 bis 10 von 10

Thema: Startseite abhängig vom User laden

  1. #1
    Neu an Board
    Registriert seit
    30.05.2006
    Beiträge
    63
    Bedankte sich
    3
    1 Danksagung in 1 Beitrag

    Standard Startseite abhängig vom User laden

    Hallo ich hab ein kleines Problem und komm einfach nicht auf den richtigen Code damit es klappt.

    Bis jetzt ist es so das ich 2 Startseiten programmiert hab mit CSS und Container, die beiden Startseiten heißen homepub.php und homereg.php

    Mit dem Mambot mit dem man php-Dateien in den content einbindet rufe ich diese beide Dateien auf:

    z.B.: {rdaddphp file=/pages/homereg.php}

    Soweit so gut, nur will ich jetzt gerne eine Weiche schalten die wenn ein Gast auf die Startseite kommt die homepub.php im Content geladen wird und wenn ein Registrierter User die Seite besucht die homereg.php geladen wird.

    Ja ich weiß die Suche, da hab ich schon folgendes gefunden:

    PHP-Code:
    <?php 
    if($my->id == 0) { mosLoadModules 'modulpub'); }
    else             { 
    mosLoadModules 'modulreg'); }
    ?>
    Aber leider klappt dies so nicht:

    PHP-Code:
    <?php 
    if($my->id == 0) { rdaddphp file=/pages/homepub.php}
    else             { 
    rdaddphp file=/pages/homereg.php }
    ?>
    Wie bekomme ich das hin?

    Soll ich eine home.php mit
    HTML-Code:
    {rdaddphp file=/pages/home.php}
    als Startseite definieren mit Zugriff Public und in dieser home.php
    eine IF-Abfrage rein stellen?

    Diese Art von Code funktionierte auch nicht:

    PHP-Code:
    <?php 
    if($my->id == 0) { include ('pages/homepub.php'); }
    else             { include (
    'pages/homereg.php'); }
    ?>
    Bitte um Hilfe! Danke

    Gruß
    Geändert von Mikelop (09.03.2008 um 21:58 Uhr) Grund: Hab das Problem selber gelöst, würd euch auch gerne sagen wie, aber wurde schon verwarnt wegen Doppelpost. Naja

  2. #2
    Moderator Avatar von cybergurk
    Registriert seit
    06.07.2005
    Ort
    unwichtig
    Beiträge
    8.732
    Bedankte sich
    190
    Erhielt 2.685 Danksagungen
    in 2.066 Beiträgen

    Standard

    hi,
    öhm, ich versteh das noch net ganz, wenn, dann sind doch am Anfang ALLE/JEDER als Gast drauf, und dann loggt sich einer ein und sieht dann nur das was dann zu sehen sein soll und das was die gäste sehen sollen kann ausgeblendet werden, alles Boardmittel von Joomla, ansonsten das mit Ausblenden für Gäste als reg User gibbet hier irgendwo ein Thread zu... ich versth noch nicht ganz den Sinn darin ?

    Man kann nicht als reg user auf die HP kommen ohne sich vorher als Gast darauf zu befinden und DANN einzuloggen oder schnall ich jetzt was nicht?
    Gruß Achim
    Behandle deine Mitmenschen genau so, wie du gerne behandelt werden möchtest.
    www.cybergurke.de | www.filmanleitungen.de | www.joomla-tutorials.de | www.easy-joomla.org

  3. #3
    Neu an Board
    Registriert seit
    30.05.2006
    Beiträge
    63
    Bedankte sich
    3
    1 Danksagung in 1 Beitrag

    Standard

    Also ich hab jetzt eine Startseite eingerichtet die eine homereg.php ladet und den Zugriff auf register gesetzt.

    Wenn man die Homepage aufruft die in einem Unterordner ist, wird man weitergeleitet zu einer Static-Seite die eine homepub.php ladet.

    Dann hab ich im Login-Modul eingestellt das wenn man sich einlogt, auf die Startseite kommt, also auf die homereg.php.

    Wenn man sich jetzt ausloggt wird automatisch die Static-Seite mit homepub.php geladen.

    Soweit so Gut.

    Wenn man jetzt aber die Cookies aktiviert dann kommt man beim aufrufen der Seite sofort zu der static-Seite, die eigentlich nur Gäste sehen sollen.

    Aus der homepub.php und homereg.php kann ich schlecht eine einzelne Datei machen, weil dort nicht nur module geladen werden die ich mit if-Abfragen nach Art der User einblenden kann oder nicht, sondern auch verschiedene CSS-Styles abhängig ob Gast oder register und verschiedene Container(div) geladen werden.

    Wenn ich jetzt beide Seiten auf der Frontpage veröffentliche, eine auf register und eine auf gast, dann funktioniert zwar die Startseite bei Gästen aber wenn man angemeldet ist, werden beide Startseiten untereinander angezeigt, weil die register auch die public content sehen.

    Verstanden?

  4. #4
    Verbringt hier viel Zeit
    Registriert seit
    08.01.2006
    Beiträge
    922
    Bedankte sich
    9
    Erhielt 259 Danksagungen
    in 248 Beiträgen

    Ausrufezeichen Zwei in Einer

    Hi,
    ich kann mir irgendwie nicht vorstellen, dass J! mit -2- Startdateien klar kommt ... und dann auch noch die "Weiche" im Content.
    Ich würde folgenden Ansatz in -1- Startdatei (index.php) wählen:

    Abfrage registrierter und (!) bereits angemeldeter User = Ja
    <div>
    Inhalt 1
    </div>
    wenn = nein

    <div>
    Inhalt 2
    </div>
    Geändert von matti (07.03.2008 um 18:20 Uhr) Grund: sChreipfuhler
    Gruß, <matti />
    __________________________________________________ _____
    Ist dein Problem gelöst - Thread als solchen markieren [Hilfe]
    Kostenfreie Hilfe nur(!) hier im Forum. Danke!

  5. #5
    Moderator Avatar von cybergurk
    Registriert seit
    06.07.2005
    Ort
    unwichtig
    Beiträge
    8.732
    Bedankte sich
    190
    Erhielt 2.685 Danksagungen
    in 2.066 Beiträgen

    Standard

    Zitat Zitat von Mikelop Beitrag anzeigen

    Verstanden?
    Nö, muss ich auch nicht, ich würde NUR joomla nutzen ohne deine externe homepub und reg, aber ist mir vielleicht auch zu hoch, viel Erfolg
    Gruß Achim
    Behandle deine Mitmenschen genau so, wie du gerne behandelt werden möchtest.
    www.cybergurke.de | www.filmanleitungen.de | www.joomla-tutorials.de | www.easy-joomla.org

  6. #6
    Neu an Board
    Registriert seit
    30.05.2006
    Beiträge
    63
    Bedankte sich
    3
    1 Danksagung in 1 Beitrag

    Standard

    Ok glaub ich weiß was du meinst.

    Ich lege eine home.php an mit dem Inhalt:

    PHP-Code:
    <?php  
    if($my->id == 0) {
    <
    div>
     
    PHP-Inhalt mit CSS vom homepub.php
    </div>
     } 
    else             
    {
    <
    div
    PHP-Inhalt mit CSS vom homereg.php
    </div>
     } 
    ?>
    Und dann mach ich eine neue Seite in Joomla mit dem Inhalt

    {rdaddphp file=/pages/home.php}

    die auf der Frontpage veröffentlich wird public.

    Richtig?

    Das wäre mit auch lieber gewesen nur eine Startseite, aber kann ich das so einfach machen mit der If-Abfrage und dann den Inhalt einfügen?

    Ich kann doch in dieser Abfrage:

    PHP-Code:
    <?php  
    if($my->id == 0) {    Hier PHP-Befehl 
    else             {  
    Hier PHP-Befehl 
    ?>
    In den Klammern nur PHP-Befehle wie include einfügen, aber doch keine ganze PHP-Datei mit CSS-Angaben, oder?

  7. #7
    Verbringt hier viel Zeit
    Registriert seit
    08.01.2006
    Beiträge
    922
    Bedankte sich
    9
    Erhielt 259 Danksagungen
    in 248 Beiträgen

    Standard

    Ne' ne', so hab ich das nicht gemeint ... Ganz ohne home.php und homereg.php.
    Einfach in der index.php -2- Bereiche (1x für reg. User und 1x für Gäste) anlegen und die Abfrage durchführen.
    Gruß, <matti />
    __________________________________________________ _____
    Ist dein Problem gelöst - Thread als solchen markieren [Hilfe]
    Kostenfreie Hilfe nur(!) hier im Forum. Danke!

  8. #8
    Neu an Board
    Registriert seit
    30.05.2006
    Beiträge
    63
    Bedankte sich
    3
    1 Danksagung in 1 Beitrag

    Standard

    hmm das kapier ich nicht ganz, ich kann doch nicht die index.php editeren, die wird doch bei jedem Update überschrieben.

    Nochmal in Kurzform:

    Wie kann ich abhängig ob Gast oder Register, einmal eine Version mit CSS, Module und Container für Gäste und einmal eine Version mit CSS, Module und Container für Register laden lassen?

    Es ist nich nur ein paar Module oder Div-Container anders, sondern der ganze Aufbau, also auch die CSS-Angaben ändern sich total wenn jemand von Gast auf Register wechselt oder umgekehrt.

    Ich kann das schlecht erklären...

    Wie muss denn der Code lauten, damit ich auch div-container abhängig von der my->id einblenden lassen kann?

  9. #9
    Verbringt hier viel Zeit
    Registriert seit
    08.01.2006
    Beiträge
    922
    Bedankte sich
    9
    Erhielt 259 Danksagungen
    in 248 Beiträgen

    Ausrufezeichen

    Hi nochmal,
    so einigermaßen habe ich dich schon verstanden .... aber, die index.php, die ich meine, ist die "Startdatei" in deinem Template (!). Diese ist doch nicht von Updates der Coredateien betroffen. Diese "index.php" aus deinem Template ist für die Anzeige deiner Site (Inhalte) verantwortlich. Und diese sollst du in -2- Bereiche teilen:

    index.php:

    # Datei kopf
    # Abfrage User?
    -> Inhalt mit entsprechender CSS und den Modulen für User
    # wenn aber Gast, dann diesen Teil laden
    -> Inhalt mit entsprechender CSS und den Modulen für Gäste
    # Dateiende
    Gruß, <matti />
    __________________________________________________ _____
    Ist dein Problem gelöst - Thread als solchen markieren [Hilfe]
    Kostenfreie Hilfe nur(!) hier im Forum. Danke!

  10. #10
    Neu an Board
    Registriert seit
    30.05.2006
    Beiträge
    63
    Bedankte sich
    3
    1 Danksagung in 1 Beitrag

    Standard

    Ja ok jetzt versteh ich.... muss dich aber leider enttäuschen, wenn ich es in der Index.php des Templates einfüge, dann werden ja die Container immer angezeigt und die sollen ja nur auf der Starsteite und nicht auf den anderen Seiten angezeigt werden.

    Naja ist ja egal.... ich bekomme das scho hin, nur eine letzte Frage, mit diesem Code:

    PHP-Code:
    <?php 
    if($my->id == 0) { mosLoadModules 'navitoppub'); }
    else             { 
    mosLoadModules 'navitopreg'); }
    ?>
    Kann ich ein Modul abhängig ob Gast oder Register laden lassen. Das kapier ich.

    Und mit welchem Code kann ich z.B.

    <div id="public">.....</div> diesen Container bei den Gästen laden
    <div id="register">....</div> diesen Container bei Register laden

    diese Abfrage hinbekommen?

    PHP-Code:
    <?php 
    if($my->id == 0) { <div id="public">.....</div> }
    else             { <
    div id="public">.....</div> }
    ?>
    Das klappt doch so nicht, oder?

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein