Ich möchte das Loader-Widget in Magento 2 implementieren. In meinem Formular habe ich eine Schaltfläche platziert
<div style="display:inline; float:right; width:100%; margin-bottom:5px;">
<button style="" class="scalable go" type="submit" id="button1"><span>Do some action</span></button>
</div>
Wenn ich auf diese Schaltfläche klicke, möchte ich die URL (frontName / Controller / Action) aufrufen. Während dieser Aktion möchte ich das Loader-Widget anzeigen.
Antworten:
Es ist beeindruckend einfach, wenn es in einer JS-Datei verwendet wird, die über Require JS geladen wurde (Alle / die meisten Ihrer Skripte sollten so sein, dass ich darauf nicht näher eingehen werde):
Und um es zu entfernen
Ergebnis:
quelle
Magento2 hat ein Loader-Widget .
Einfache Verwendung mit Ajax-Anfrage.
Sie können es auch selbst verwenden
und in JS
quelle
showLoader: true
innerhalb der$.ajax
Einstellung. Ich erhalte die folgende Fehlermeldung in der Konsole:loader.js:210 Expected to start loader but did not find one in the dom
Irgendeine Idee, warum dies sein könnte? Muss ich dem DOM manuell ein Loader-Element hinzufügen? Ich verwende ein benutzerdefiniertes Design. Vielleicht habe ich einen Block entfernt, der den Standardlader enthält.Ich denke, Sie möchten Loader bei einem Nicht-Ajax-Anruf anrufen
Temporäre Lösung: Sie können sie beim Senden oder bei jedem anderen Ereignis verwenden: $ ('body') .loader ('show');
https://minhducnho.wordpress.com/2016/11/23/magento2-show-default-loader-in-magento/
Aber ich denke, dies ist keine magento-Methode, um das Loader-Widget bei einem Nicht-Ajax-Aufruf aufzurufen. Ich hatte das gleiche Problem und implementierte es daher als temporäre Lösung.
quelle
Eine einfache Möglichkeit, das Ladesymbol in Magento mithilfe des Skripts anzuzeigen:
So zeigen Sie den Lader an:
oder verwenden:
oder
So verstecken Sie den Lader:
ODER
ODER
ODER
ODER
quelle