Hallo zusammen.
Ich hatte heute folgende Situation.
Wir hatten 12 Kundengruppen angelegt und später drei Gruppen aus der Mitte gelöscht, sodas sich die IDs folgendermasen aufreihen: 0,1,2,3,4,8,9,10,11,12.
Als Ergebnis wurde in der Listenansicht der Kunden ab der ID 10 keinen Namen der Kundengruppen sondern nur noch die ID in Klammer angezeigt.
[ Für Gäste sind keine Dateianhänge sichtbar ]
Das resultiert daraus , das der Code in der "customers.php" ab Zeile ca. 43
for ($i=0;$n=sizeof($customers_statuses_array),$i<$n;$i++) {$customers_statuses_id_array[$customers_statuses_array[$i]['id']] = $customers_statuses_array[$i]; } mit dem falschen Indexwert arbeitet. Das "Sizeof" gibt dann nämlich 10 zurück, wodurch in dem Array "$customers_statuses_id_array" nur die Einträge bis Index 9 enthalten waren ( es beginnt mit Null zu zählen ). Die Gruppen mit dem Index 10,11,12 fehlten.
Ändert man den Code auf
for ($i=0;$n=max($customers_statuses_array)['id'],$i<=$n;$i++) { $customers_statuses_id_array[$customers_statuses_array[$i]['id']] = $customers_statuses_array[$i]; } erhält man das höchste Element mit dem Index 12 und mit der Spezifikation ['id'] kann man gleich auf den Wert 12 zugreifen.
Damit sind alle Elemente von der ID 0 bis 12 in der Reihenfolge 0,1,2,3,4,8,9,10,11,12 enthalten und die Listenansicht funktioniert wieder.
Mir ist bewußt, das die Verwendung von "sizeof" in diesem Fall nicht ganz der Definition entspricht.Aber da in diesem Kontext der höchste Wert auch gleich der Anzahl der Gruppen gleich ist, glaube ich, das man das so verwenden kann.
Wie ist eure Meinung dazu.
lg
Rene
Linkback: https://www.modified-shop.org/forum/index.php?topic=36145.0