OXID Community Forum

> German forum > Installation und Konfiguration > Shop soll nur nach Login (Anmeldung) sichtbar sein
Login
FAQ Members List Calendar Search Today's Posts Mark Forums Read

Thread: Shop soll nur nach Login (Anmeldung) sichtbar sein


Reply
 
Thread Tools Display Modes
#Top   #1  
Old 06-10-2009, 05:33 PM
uprocka uprocka is offline
Junior Member
Join Date: Jun 2009
Posts: 13
uprocka is on a distinguished road
Default Shop soll nur nach Login (Anmeldung) sichtbar sein

Hallo,

ich würde gerne den OXID Shop so anpassen, dass man eingeloggt sein muss um ihn nutzen zu können.

d.h. wenn ich _NICHT_ eingeloggt bin als Kunde soll er auf die Loginin Page wechseln.

Bin ich eingeloggt kann ich den Shop wie gewohnt nutzen bis ich ausgeloggt bin.

Ich denke, dass muss auf "Klassen Ebene" und nicht in den Templates passieren, steige aber leider nicht ganz durch die Klassen durch.

Hat jmd. einen Tipp oder das gleiche schonmal umgesetzt?

Danke im Voraus

PS: OXID eShop CE 4.1.2_18998
Reply With Quote
#Top   #2  
Old 06-10-2009, 05:52 PM
Kai Siebold's Avatar
Kai Siebold Kai Siebold is offline
Member
Join Date: Mar 2009
Location: Freiburg
Posts: 45
Kai Siebold is on a distinguished road
Send a message via ICQ to Kai Siebold Send a message via Skype™ to Kai Siebold
Default AW: Shop soll nur nach Login (Anmeldung) sichtbar sein

Hallo!

Mit dem Smarty-Befehl [{ if $oxcmp_user }] lässt sich in den Templates einiges anstellen.

Gruß
Kai!
Reply With Quote
#Top   #3  
Old 06-10-2009, 05:59 PM
uprocka uprocka is offline
Junior Member
Join Date: Jun 2009
Posts: 13
uprocka is on a distinguished road
Default AW: Shop soll nur nach Login (Anmeldung) sichtbar sein

Hey, Danke für die Antwort:
das habe ich zu erst probiert - ABER - ich müsste das ja auf jeder möglichen Seite irgendwo einfügen und die Anzeige bzw. Weiterleitung auf die LoginSeite ist damit auch noch nicht gelöst.

Also meinr Meinung nach hilft das nur wenn man Teile auf einer Template-Seite zeigen/verbergen möchte aber nicht für das was ich vorhabe.

Das muss weiter vorher gesteuert werden...
Reply With Quote
#Top   #4  
Old 06-10-2009, 06:08 PM
Kai Siebold's Avatar
Kai Siebold Kai Siebold is offline
Member
Join Date: Mar 2009
Location: Freiburg
Posts: 45
Kai Siebold is on a distinguished road
Send a message via ICQ to Kai Siebold Send a message via Skype™ to Kai Siebold
Default AW: Shop soll nur nach Login (Anmeldung) sichtbar sein

Hallo, nochmal!

Mach doch in einem Template, das immer geladen wird (z.B. _header.tpl), die Überprüfung rein. Wenn die dann negativ verläuft, wird eine Weiterleitung zur Anmeldeseite aktiv. Das könnte funzen.

Gruß
Kai
Reply With Quote
#Top   #5  
Old 06-10-2009, 06:30 PM
uprocka uprocka is offline
Junior Member
Join Date: Jun 2009
Posts: 13
uprocka is on a distinguished road
Default AW: Shop soll nur nach Login (Anmeldung) sichtbar sein

okay klingt zwar nach workaround aber wenn es funktioniert :-)

nur wie mache ich eine Weiterleitung auf Smartyebene?
Weiterhin muss das Login Template "account_login.tpl" ja von der Weiterleitung ausgenommen werden sonst habe ich eine Endlosschleife. (Wie) Kann ich in Smarty abfragen in welchem Template ich bin?
Reply With Quote
#Top   #6  
Old 06-10-2009, 08:24 PM
uprocka uprocka is offline
Junior Member
Join Date: Jun 2009
Posts: 13
uprocka is on a distinguished road
Default AW: Shop soll nur nach Login (Anmeldung) sichtbar sein

Hey Kai, ich denke ich habs gefunden:

in der Datei: oxview.php muss man die render Funktion von

PHP Code:
    public function render()
    {
        return 
$this->_sThisTemplate;
    } 
abändern in

PHP Code:
 public function render()
    {
        
        
// is logged in ?
        
$oUser $this->getUser();
        if ( !
$oUser || $oUser->oxuser__oxpassword->value == '' ) {
            return 
$this->_sThisTemplate 'account_login.tpl';
        } 
            
        return 
$this->_sThisTemplate;
            
        
    } 
dies bewirkt, dass man immer die Login Seite bekommt solange man nicht eingeloggt ist...
Idealerweise muss man die account_login.tpl Datei anpassen da im header, links und rechts immer noch Infos durchkommen könnten die man uneingeloggt nicht sehen soll.

gruß uprocka
Reply With Quote
#Top   #7  
Old 06-10-2009, 09:39 PM
Benny Benny is offline
Senior Member
Join Date: Mar 2009
Posts: 152
Benny is on a distinguished road
Default AW: Shop soll nur nach Login (Anmeldung) sichtbar sein

Hallo,

ich hatte auch mal was geschrieben, vielleicht kannst du das ja verwenden (damit kann er sich dann auch registrieren und sein vergessenes Passwort wiederbekommen):

oxshopcontrol => ...

PHP Code:
class ShopControl extends ShopControl_parent
{
    protected function 
_process$sClass$sFunction )
    {
        if(
$this->isAdmin())
        {
            return 
parent::_process$sClass$sFunction );
        }
            
        
$myConfig $this->getConfig();
        
$oUser $this->getUser();

        if(!
$oUser && $sClass != 'account' && $sClass != 'forgotpwd' && $sClass != 'register' && $sClass != 'login')
        {
            
oxUtilsView::getInstance()->addErrorToDisplayoxLang::getInstance()->translateString('ACCOUNT_LOGIN_REQUIRE') );
            
oxUtils::getInstance()->redirect$myConfig->getShopHomeURL() .'cl=account' );
            return;
        }

        if(!(
$sClass != 'account' && $sClass != 'forgotpwd' && $sClass != 'register' && $sClass != 'login'))
        {
            return 
parent::_process$sClass$sFunction );    
        }    
    }


Gruß
Benny

EDIT: ma den B2B Ansatz rauseditiert
EDIT2: ACCOUNT_LOGIN_REQUIRE müsste noch in der language Datei hinterlegt werden

Last edited by Benny; 06-10-2009 at 09:42 PM.
Reply With Quote
#Top   #8  
Old 06-10-2009, 10:08 PM
uprocka uprocka is offline
Junior Member
Join Date: Jun 2009
Posts: 13
uprocka is on a distinguished road
Default AW: Shop soll nur nach Login (Anmeldung) sichtbar sein

Hey ja genau das Problem hab ich nämlich jetzt das ich keine andere Seite aufrufen kann wenn ich nicht eingeloggt bin :-)


die Klasse class ShopControl extends ShopControl_parent
gibt es bei meiner Version nicht und die _process Funktion von oxshopcontrol.php sieht ziemlich anders aus

Ich verstehe genau was du da machst, aber ich blicke in den ganzen Oxid Klassen (noch) nicht durch.

Die Klasse oxView hat auch eine Methode $this->getClassName() - dait könnte ich deine Lösung nachbauen - $this->getClassName() ist aber immer leer - versteh ich nicht.
Reply With Quote
#Top   #9  
Old 06-10-2009, 10:43 PM
Benny Benny is offline
Senior Member
Join Date: Mar 2009
Posts: 152
Benny is on a distinguished road
Default AW: Shop soll nur nach Login (Anmeldung) sichtbar sein

hm ich hab zwar noch eine ältere Version aber ich glaube du suchst an der falschen Stelle.

Das Geschriebene ist ein Modul, also wirst du das nirgends finden.
Du kopierst einfach das was ich da stehen habe in eine Datei (PHP-Tags nicht vergessen) und speicherst die in einem Unterordner im Module Verzeichnis ab (zB als shopcontrol.php).

Dann gehst du ins Admin Panel unter Stammdaten->Grundeinstellungen->System->Module und gibst da in eine neue Zeile
oxshopcontrol => deinunterordner/derfilename
zB: oxshopcontrol => require_login/shopcontrol
ein. Damit ist das Modul aktiviert und sollte funktionieren.
Reply With Quote
#Top   #10  
Old 06-10-2009, 10:47 PM
uprocka uprocka is offline
Junior Member
Join Date: Jun 2009
Posts: 13
uprocka is on a distinguished road
Default AW: Shop soll nur nach Login (Anmeldung) sichtbar sein

Aaah mit dem Thema Module hab ich mich noch nicht beschäftigt.
Okay das hilft mir bestimmt weiter. Klingt auch sauberer als am Core rumzudoktern.

Werde ich mal probieren.

Gruss uprocka
Reply With Quote
Reply

Bookmarks

Tags
anmeldung, login, shop, sichtbar

« Previous Thread | Next Thread »
Thread Tools
Display Modes

Nicht Sichtbar
Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
/Nach-Hersteller/ soll weg hw Newbies 6 07-23-2014 09:52 PM
Login-Button nach Anmeldung ausblenden exko Templates und Design 2 07-05-2010 06:46 PM
Artikel soll markiert sein geschenkenews Feature-Anfragen 3 06-08-2010 08:48 AM
Preise erst nach login sichtbar machen? mawi1 Allgemeines 2 01-27-2010 07:33 AM
Soll das Zend Framework in den Shop implementiert werden? Marco Steinhaeuser Allgemeines 58 10-13-2009 03:05 PM

All times are GMT +1. The time now is 05:25 PM.