Hallo Leutz, ich würde gern im Plugin swListingActions in der Funktion getListingUrl(urlParams, encode) die url ändern. Ich klink mich über: $.subscribe('plugin/swListingActions/onGetListingUrl', function(me, url, urlParams, encode) { console.log(me); console.log(url); console.log(urlParams); console.log(encode); });
in die Funktion ein. In der Konsole erscheinen die Dumps, ok. Kann ich nun an dieser Stelle die „return url“ von getListingUrl(urlParams, encode) ändern? Mein Versuch url = ‚beispieldomain.de‘ oder urlParams = ‚beispieldomain.de‘ haben keinen Einfluss auf die „return url“ (urlParams = ‚beispieldomain.de‘ deshalb, weil lt. Konsole hier der Wert der url gespeichert war). Ein: $.overridePlugin('swListingActions', { getListingUrl: function(urlParams, encode) { return 'beispieldomain.de'; } });
funktioniert. Wäre das evtl.der richtige Weg?
Hi,
der Beitrag ist zwar schon älter, allerdings bin ich auf die selbe Problematik gestoßen, und vlt tun das ja auch andere. Da der Event erst published wird wenn die Url schon definiert wurde und kein return value verwendet wird (was meiner Auffassung nach den ganzen Event recht sinnfrei gestaltet), konnte ich es nur dadurch lösen mich auf einen Event zu registrieren, welcher früher published wird.
In meinem Fall war das der plugin/swListingActions/onRemoveActiveFilter Event in welchem ich dann die controllerURL property der Pluginklasse überschrieben habe.
$.subscribe('plugin/swListingActions/onRemoveActiveFilter', function(e, me, param){
var url = me.controllerURL;
//do sth.
me.controllerURL = url;
});
Gruß
Daniel