[Drupal] Sortowanie dużego drzewa taksonomii w Drupalu 6

Data dodania wpisu: 28-12-2010

W przypadku dużych lub wielopoziomowych drzew taksonomii w Drupalu 6, niekiedy zawodzi system sortowania kolejności terminów w obrębie jednego słownika. Problem aktualnie jest raportowany na Drupal.org, jednak do tej pory nie został rozwiązany (aktualna wersja stabilna to 6.20).

Kwestia dotyczy zakresu kolumny weight w tabeli term_data, gdzie jest niestety zastosowany typ danych TINYINT Jeśli drzewo terminów jest wystarczająco duże, to podczas jego sortowania może zajść sytuacja, że osiągnięty zostanie limit dla typu danych TINYINT równy 127. Wówczas rekordy na nieszczęście zostają sortowane wg tej wagi a następnie wg nazwy. Jeśli wiele terminów na tym samym poziomie hierarchii posiada wagę = 127, to zostaną one posortowane alfabetycznie. 

Aby problem rozwiązać, wystarczy zmienić typ danych z TINYINT na INT dla kolumny weight w tabeli term_data. W ten sposób pozbywamy się niechcianego limitu dla wagi terminów i możemy spokojnie sortować go wg uznania;)

Komentarze

problem ten pojawił się u mnie w wersji D7 - mam cholernie duży słownik z kilkoma kategoriami nadrzędnymi. w momencie, gdy ich liczba wzrosła do 3 lub 4, zniknęła ikonka alfabetycznego sortowania. Dodatkowo przestają też działać przyciski drap and down. fatalna sprawa... :)
Comments closed...