Shop im fremden Account öffnen

Hallo,

ich möchte mich als ein Kunde im Shop einloggen, um zu sehen, was er sieht.

Dazu rufe ich eine CMS-Seite auf in der das steht:

[{if $oxcmp_user}]
   [{if $oxcmp_user->oxuser__oxrights == 'malladmin'}] OK!
      [{assign var="uid" value=$smarty.get.uid}]
      [{$oxcmp_user->load('$uid')}]
      [{php}] $_SESSION['usr']='[{$uid}]';[{/php}]
   [{else}]
      [{php}]header("Location:https://domain/404");[{/php}] 
   [{/if}]
[{else}]
   [{php}]header("Location:https://domain/404");[{/php}] 
[{/if}]

Vorab muss man im FE als Admin angemeldet sein.
Beim ersten Aufruf klappt es, aber wenn ich dann mit diesem Account weitermachen möchte, bin ich ausgeloggt.

Hat jemand eine Idee, was ich ändern muss?

Danke
Thoni

ich weiß nicht was du vor hast aber das passwort vorübergehend ändern (db), wäre die einfachster möglichkeit.

ich habe vor 4-5 jahren ein modul dafür geschrieben, benutze ihn heute noch. hier irgendwo ist der noch verlinkt. damit kann ich backend mit klick auf “starten” das kundenkonto komplett übernehmen und frontend für kunden eine neue bestellung aufgeben bzw. sehen ob die module unter downloads noch gültig sind usw. usf… danach wenn ich die aktion beende, wird das original passwort wieder zurückgespielt.

nur mal so als idee.

Hallo Thoni,
für diesen Zweck habe ich auch ein eigenes Modul geschrieben. Es ist allerdings kostenpflichtig.
Falls es trotzdem interessant für dich wäre, findest du es hier:

Grüße
Fabian

Ganz doofer Fehler.

So geht es:

[{if $oxcmp_user}]
   [{if $oxcmp_user->oxuser__oxrights == 'malladmin'}] OK!
      [{assign var="uid" value=$smarty.get.uid}]
      [{$oxcmp_user->load('$uid')}]
      [{php}] $_SESSION['usr']=\OxidEsales\Eshop\Core\Registry::getConfig()->getRequestParameter( "uid", true );[{/php}]
      [{php}]header("Location:/meine-adressen/");[{/php}] 
   [{else}]
      [{php}]header("Location:/404");[{/php}] 
   [{/if}]
[{else}]
   [{php}]header("Location:/404");[{/php}] 
[{/if}]

Du könntest noch erwähnen, wo die uid herkommt (URL) und wo (Block, TPL) Du es eingesetzt hast. So wäre es auch für StartUps (Anfanger) möglich, dies zu nutzen.

Im Backend setze ich auf der ‘Stamm’-Seite der User zwei Links ein:

  1. Der Shop-Login wird geöffnet. Hier loggt man sich als Admin ein.
  2. Die CMS-Seite wird aufgerufen und enthält die uid.
    Beide Links öffnen im selben target.

Im Template:

   1. <a href="/mein-konto/" target="fe"><b>hier</b></a> als Admin.<br>
   2. <a href="/bwfaif/?uid=[{$edit->oxuser__oxid->value}]" target="fe"><b>hier</b></a> klicken.

In der Metadata:

 array(
    'template' => 'user_main.tpl',
    'block' => 'admin_user_main_assign_groups',
    'file' => '/views/blocks/usermain-right.tpl'
 ),