hesselmannhesselmann MemberComments: 24 Received thanks: 1 Member since: April 2012 edited November 2013
Ich habe zwei Fragen:

1. Ich überprüfe wie unter http://wiki.shopware.de/Fortgeschritten ... 0_870.html mit
public function preDispatch()
    {
        if (!$this->admin->sCheckUser()) {
            return $this->forward('login', 'account');
        }
ob ein Kunde bereits eingeloggt ist. Ist dies nicht der Fall und der Kunde hat sich musste sich einloggen, landet er in seinem Accountbereich. Ich möchte aber, dass dann wieder mein Controller mit den gleichen Parametern wie vorher aufgerufen wird. Wie muss ich dafür vorgehen?

2. Im Backend möchte ich aus meinem Plugin heraus einen bestimmten Tab der Artikeldetailansicht offnen. Mit
Shopware.app.Application.addSubApplication({
			name: 'Shopware.apps.Article',
			params: {
				articleId: articleId
			}
		});
öffne ich den entsprechenden Artikel, doch wie wähle ich jetzt, den von mir hinzugefügten Tab aus?

Comments

  • mbdusmbdus MemberComments: 131 Received thanks: 9 Member since: September 2013
    Zu 1.:
    Man kann die forward-Funktion entsprechend erweitern. Z.B.:
    return $this->forward('detail','index', null, array('sArticle'=>$id));
    
    Zu 2.:
    Dafür müsstest du den Main-Controller (main.js) überschreiben. Dann gibst du bei params einen Wert mit, dass im Controller dein Code angesprochen werden soll.

    Schau dir mal die Datei main.js aus der Customer-Applikation an. Dort wird eine solche Fallabfrage durchgeführt.

    Grüße
    Mathias
    Thanked by 1hesselmann
  • hesselmannhesselmann MemberComments: 24 Received thanks: 1 Member since: April 2012
    Ich knüpfe mal hier wieder an. Mit
    if (!$this->admin->sCheckUser()) {
        return $this->forward('login', 'account', null, array('sTarget' => 'MeinController'));
    }
    
    erreiche ich, dass nach dem Login die indexAction von MeinController aufgerufen wird. Erreiche ich auch irgendwie, dass der Vollständige Request danach ausgeführt wird? Ich hab schon probiert was dranzumogeln, aber das wird immer ordentlich URL-Encoded... Also wie erreiche ich, dass die Weiterleitung nach dem Login z.B. auf /MeinController/meineAction/Parameter/Wert geht?
  • Rocks360Rocks360 MemberComments: 12 Received thanks: 0 Member since: December 2016

    Derzeit ist nur Implementiert, das über sTarget ein Controller fürs redirect übergeben werden kann. Und leider auch nach so vielen Jahren immer noch so ist ;( ... 

  • langnickellangnickel MemberComments: 272 Received thanks: 43 Member since: April 2017

    Jupp, man kann leider nur sTarget und sTargetAction mit übergeben, sArticle wird verworfen was zu einem 404 dann nach dem login führt :(

Sign In or Register to comment.