Dopo aver creato un sito su OpenCart per un cliente, mi sono scervellata nel capire come cavolo riuscire ad ordinare le slides del banner nell’ordine desiderato. Inizialmente credevo dipendesse dal nome della slide, invece caricando il sito ho notato che le metteva in tutt’altro modo. In pratica l’ultima slide che si desidera avere nel nostro banner, dovrebbe essere caricata per prima. Quindi, supponendo che le nostre slide saranno:
slide_1
slide_2
slide_3
slide_4
Andrebbero caricate in quest’ordine:
slide_4
slide_3
slide_2
slide_1
E diciamo che potrebbe anche starmi bene, ma che cliente non rompe le balle e richiede qualche cambio nelle slide?? Magari per cambiare il link relativo alla slide numero 2??? E adesso?? Diciamo che finche avete 4 slides ci puó anche stare di rimetterle in ordine, ma se ne avete 14? 20? 30? Esatto.. in quel caso sareste nella m***a!
[divider]
Quindi la domanda é:
E’ possibile ordinare le immagini in ordine alfabetico?
La rispota é: SI! La soluzione sotto
Aprire il file:
admin/model/design/banner.php
trovate la stringa che dice: public function getBannerImages [nel mio caso verso la 177, comunque é quasi alla fine]
L’ultima linea dovrebbe essere:
return $banner_image_data;
Aggiungete appena sopra quest’ultima stringa il seguente codice:
function sort_images_by_name($a, $b) {
return $a['banner_image_description'][1]['title'] > $b['banner_image_description'][1]['title'] ? 1 : -1;
}
usort($banner_image_data, "sort_images_by_name");
Salvate e caricate di nuovo tramite FTP. Ed il gioco é fatto.