GX-Bug #58167
geschlossenGutschein E-Mail Seite lädt sehr langsam wenn man viele Kunden hat.
100%
Auf der Gutschein-E-Mail-Seite werden die Kunden jetzt über eine Autovervollständigung und nicht mehr über ein Dropdown ausgewählt, damit es bei vielen Kunden nicht mehr zu Performanceproblemen der Seite kommt
Beschreibung
Gutschein E-Mail Seite lädt sehr langsam wenn man viele Kunden hat, da das DropDown-Menü mit allen Kunden ausgefüllt wird, die im Shop vorhanden sind.
Hier sollte man überlegen ob es Sinn macht, hier ein Autocomplete Feld zu verwenden, wo man nach Kunden suchen kann. Z.B. durch Eingabe des Namens oder der E-Mail Adresse.
Damit muss man nicht immer alle Kunden im DropDown-Menü anzeigen, was die Seite immer langsamer macht, je mehr Kunden man hat.
Von Ulrich Wenk vor mehr als 5 Jahren aktualisiert
- Status wurde von Gemeldet zu Anerkannt geändert
Von Jonatas Fischer vor mehr als 5 Jahren aktualisiert
Steps to reproduce:¶
-
Activate Gift Voucher System
- Shop Settings >> Special Modules -> enable "Activate Gift Voucher System".
-
Ensure that Gift Vouchers module are installed
- Modules >> Order Total -> check if module "Gift Vouchers" are installed
-
Access the Mail Gift Voucher page
- Vouchers >> Mail Gift Voucher
Changes¶
Replace the customer select box (select element) with a autocomplete element with ajax callback request
- Today admin portal uses jQuery 1.12 and jQuery.ui version 1.11. jQuery UI autocomplete Documentation: http://api.jqueryui.com/1.11/autocomplete/ Example of how to implement the autocomplete:
// Single Select
$( "#autocomplete" ).autocomplete({
source: function( request, response ) {
// Fetch data
$.ajax({
url: "gv_mail.php",
type: 'post',
dataType: "json",
data: {
customer: request.term
},
success: function( data ) {
response( data );
}
});
},
select: function (event, ui) {
// Set selection
$('#autocomplete').val(ui.item.label); // display the selected text
$('#selectuser_id').val(ui.item.value); // save selected id to input
return false;
}
});
The back-end should check the customer array element on POST and if supplied realize the search on database answering with the following format:
$result[] = ['value' =>'id', 'label' =>'user name'];
Obs:Remember that the options "To all customer" and "To all newsletters subscribers" must always be visible.
Von Jonatas Fischer vor mehr als 5 Jahren aktualisiert
- Tags wurde von UI, UX zu UI, UX, Ready geändert
Von Jonatas Fischer vor mehr als 5 Jahren aktualisiert
- Zugewiesen an wurde auf Anis Mashku gesetzt
Von Anis Mashku vor mehr als 5 Jahren aktualisiert
- Status wurde von Anerkannt zu In Bearbeitung geändert
Von Anis Mashku vor mehr als 5 Jahren aktualisiert
- Status wurde von In Bearbeitung zu Testing geändert
- Zugewiesen an wurde von Anis Mashku zu Core-Entwickler geändert
Von Till Tepelmann vor mehr als 5 Jahren aktualisiert
- Zielversion wurde von 133 zu 3.13.1.0 beta1 geändert
Von Moritz Bunjes vor mehr als 5 Jahren aktualisiert
- Zugewiesen an wurde von Core-Entwickler zu Moritz Bunjes geändert
- Release Notes Langtext aktualisiert (Vergleich)
Von Moritz Bunjes vor mehr als 5 Jahren aktualisiert
- Status wurde von Testing zu Erledigt geändert
- % erledigt wurde von 0 zu 100 geändert