hesselmannhesselmann MitgliedKommentare: 24 Danke erhalten: 1 Mitglied seit: April 2012 bearbeitet 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?

Kommentare

  • mbdusmbdus MitgliedKommentare: 131 Danke erhalten: 9 Mitglied seit: 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
    Danke von 1hesselmann
  • hesselmannhesselmann MitgliedKommentare: 24 Danke erhalten: 1 Mitglied seit: 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 MitgliedKommentare: 12 Danke erhalten: 0 Mitglied seit: Dezember 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 MitgliedKommentare: 223 Danke erhalten: 35 Mitglied seit: 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 :(

Anmelden oder Registrieren, um zu kommentieren.