Modyfikacja w Otwarty Mini: sortowanie
Na stronie forum PiO nieoceniony Szakal sprzedał świetnego tipsa wspomagającego sortowanie wyników w katalogu Otwarty Mini. Wspomina o tej modyfikacji w dziale „Mod Pruk&Wedan”, ale zastosowana do Otwartego Mini w wersji „klasik” też działa doskonale. Przetestowałem ją w moim katalogu postawionym na klasycznym skrypcie: katalog Podwójne Wpisy.
Chodzi o to, by w podkategoriach móc ustawić jako pierwsze w kolejności wyświetlania wpisy, które chcemy z jakiegoś powodu wyróżnić.
Przejdźmy do rzeczy. By zmienić sposób wyświetlania podkategorii z „defaultowej” Alfabetycznej, należy odnaleźć w pliku otwarty_disp/pod.php fragment mówiący:
$zap = mysql_query("select * from ".$prefix."relacje r, ".$prefix."wpisy w where r.id_kat='$pod[id_kat]' AND r.id_pod='$_GET[id]' AND w.id=r.id_wpi AND w.akt=1 order by w.data limit $min,$po_ile");
Są to okolice 29 linii. Szukamy wyrażenia „order by” i zaraz po nim wpisujemy ten rodzaj sortowania, na jakm nam zależy. Do wyboru mamy:
- w.id – numer pozycji
- w.tytul – default
- w.data – sortowanie po dacie od najstarszego wpisu
- w.pr – wg PageRank
- w.odslon – ilości odsłon
- w.klikow – ilość kliknięć
- w.moje – moje wpisy
- w.ocena – ocena moderatora
- w.platny – wpis płatny
Szakal zwrócił uwagę, że domyślnie „order by” sortuje w kolejności rosnącej, czyli od najmniejszej wartości do największej. Jeżeli chcemy, by sortowanie wg wybranej przez nas opcji odbywało się od wartości największej do najmniejszej, tuż za w.opcja nalezy dopisać: DESC
Kolejna cenna wskazówka, to fakt, że sortowania można łączyć. Możemy ustawić sortowanie wg Pagerank (w.pr), ale pierwsze będą się wyświetlały wpisy oznaczone jako moje (w.moje):
$zap = mysql_query("select * from ".$prefix."relacje r, ".$prefix."wpisy w where r.id_kat='$pod[id_kat]' AND r.id_pod='$_GET[id]' AND w.id=r.id_wpi AND w.akt=1 order by w.platny DESC, w.moje DESC, w.tytul limit $min,$po_ile");
W ten sposób możemy w zasadzie dowolni ustalać kolejność wyświetlania wpisów, w zależności od zachcianki, czy potrzeby – katalog płatny czy wpisy wyróżnione. Przykład tuż powyżej ilustruje moje ustawienia, gdzie sortowanie odbywa się następująco:
- w.platny – jako pierwsze wyświetlają się wpisy płatne
- w.moje – potem wyświetlają sie wpisy oznaczone jako „moje”
- w.tytul – reszta w kolejności alfabetycznej


