UserPanelDropdown und Seiten-Reload

  • Gegeben ist ein UserPanelDropdown, das ähnlich wie das für Konversationen aufgebaut ist. showAllLink soll allerdings nicht auf eine (neue) Seite, sondern auf einen Tab der User-Seite (Profil) verweisen.



    Code
    ...
    showAllLink: '{link controller='User' object=$__wcf->user}#newTab{/link}',
    ...

    Problem: ist das Profil bereits geöffnet, wenn man im Dropdown-Menü auf 'Alles anzeigen' klickt, wird das Profil nicht neu geladen und der zuletzt genutzt Tab bleibt geöffnet. Zudem schließt (deswegen) das Dropdown-Menü nicht und dblclick funktioniert auch nicht mehr.


    Gibt es eine einfache Methode, beim Klick auf 'Alles anzeigen' das Profil neu zu laden?

    Gruß, Udo

    • Official Post

    Überschreibe in deiner Klasse WCF.User.Panel.Abstract._initDropdown() und ändere einfach das Verhalten:


    Bezüglich dem Double-Click müsstest du halt noch schauen was dafür verantwortlich ist und das ggf. anpassen. Der Vorteil an obiger Implementierung ist, dass es sich wie ein normaler Link verhält, außer man ist bereits auf der selben Seite.

    Alexander Ebert
    Senior Developer WoltLab® GmbH

  • Danke. An JS hatte ich überhaupt nicht gedacht.


    Aber der Code funktioniert nicht. Ohne genau zu wissen, was ich da eigentlich tue, habe ich das wie folgt geändert ;)


    JavaScript
    _initDropdown: function() {
    	var $dropdown = this._super();
    	var showAllLink = $dropdown.getContainer().find('.interactiveDropdownShowAll');
    	showAllLink.on('click', function(event) {
    		window.location = event.currentTarget.href;
    		window.location.reload();
    	});
    	return $dropdown;
    }

    Macht, was ich will, und schmeißt keine Fehler.

    Gruß, Udo

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!