Witam,
Po krótkiej przerwie (niespodziewanie pojawiła się nowa stabilna wersja i musiałem pod nią przepisać wszystko na nowo) chcę przedstawić niewielkie lecz bardzo pomocne czy wręcz niezbędne usprawnienie. Jest nim ustawianie pozycji w kategoriach.
Na wstępie trzeba wykonać pewną operację na bazie danych. Najlepiej zrobić to przez PHPAdmina. Oto odpowiednie zapytanie MySQL:
ALTER TABLE `ps_category` ADD `position` INT( 10 ) UNSIGNED NOT NULL DEFAULT '0' AFTER `level_depth`;
Wyjaśnienie wymaga ps_category. Mianowicie przedrostek ps_ należy wstawić taki jaki się ustawiło przy instalacji.
Gdy to już wykonamy przyjdzie nam uaktualnić wpisy position w tabeli ps_category gdzie dla każdej grupy id_parent rozpoczynamy numerację od 1. Robimy to mniej więcej wg schematu:
id_category id_parent level_depth position active date_add date_upd
1 0 0 0 1 2008-12-21 06:31:06 2008-12-21 06:31:06
2 1 1 3 1 2008-12-21 06:31:07 2008-12-21 06:31:07
3 1 1 4 1 2008-12-21 06:31:07 2008-12-21 06:31:07
4 1 1 2 1 2008-12-21 06:31:07 2008-12-21 06:31:07
5 2 2 1 1 2008-12-22 03:23:38 2008-12-22 11:38:55
13 5 3 5 1 2008-12-22 10:42:28 2008-12-22 11:41:59
16 5 3 4 1 2008-12-22 10:44:44 2008-12-22 11:38:55
15 5 3 2 1 2008-12-22 10:43:19 2008-12-22 11:38:55
14 5 3 3 1 2008-12-22 10:42:53 2008-12-22 11:38:55
W tym przypadku position jest już poprzestawiane lecz widać, że każda grupa id_parent ma tak jakby swoją oddzielną numerację zaczynającą się od 1.
Gdy uda się nam odpowiednio wypełnić tabelę podmieniamy następujące pliki:
admin\tabs\AdminCategories.php
classes\Category.php
modules\blockcategories\blockcategories.php
Od tej pory możemy cieszyć się możliwością ustawiania kategorii (do tej pory zmuszeni byliśmy do ustawienia alfabetycznego bądź kombinowania).
Zapraszam do testowania.
Pozdrawiam
Krzysiek