PDA

Zobacz pełną wersję : Sortowanie artykułów według kolumny kolejność



danieladrianka
15-12-2018, 19:01
Ktoś wie w jaki sposób Joomla sortuje tabelę z artykułami przy zastosowaniu kolumny "Kolejność" ?
Czy to tylko u mnie nie działa tak jak powinno?

Po kliknięciu w przycisk sortowania Kolejność po pierwsze nie da się za pomocą kursora przestawić kolejności artykułów w dowolny sposób. Np. artykuł z kategorii Uncategorised zawsze może być tylko na początku tabeli, a inne arty można przestawiać tylko w obrębie własnej kategorii. Dodatkowo po przestawieniu artykułów, wyjściu do innej pozycji i powrocie do tabeli artykułów sortowanie powraca do poprzednich ustawień. Zmiany nie zostają zapamiętane. Dlatego pytam czy ktoś wie jak Joomla sortuje artykuły według tej kolumny?

Jeśli to nie działa to po co w ogóle ta opcja?

zwiastun
15-12-2018, 22:56
Opcja ta służy do tymczasowego posortowania rekordów. Zmienianie kolejności za pomocą kursora po posortowaniu artykułów wg wybranego kryterium nie miałoby zbytniego sensu. Ustawianie kolejności działa tylko wtedy, gdy rekordy są posortowane domyślnie.

siristru
16-12-2018, 02:36
Poza tym jak słusznie zauważyłeś - kolejność można ustawiać TYLKO w obrębie tej samej kategorii. Jeśli próbujesz posortować w widoku wszystkich artykułów... to właściwie po czym sortujesz jak są we własnych kategoriach?

danieladrianka
16-12-2018, 10:49
Niestety nie mogę się z Wami zgodzić w tym przypadku ;)

Sortowanie według kolumny "Kolejność " powinno działać inaczej.
I działa tylko że nie w tabeli z wszystkimi artykułami.

Weźmy sobie np. tabelę Artykuły: Artykuły wyróżnione.
Klikając sortowanie w/g kolumny "kolejność" - działa wyśmienicie, przeciągamy kursorem myszki wszystkie arty w dowolnym położeniu, nawet poza własnymi kategoriami. Działa także zapamiętywanie położenia !
I tak powinna działać tabela "Artykuły".

Sortowanie według kolumny "Kolejność" nie może być "TYMCZASOWA" bo to przecież od zarządzającego zależy jak chce posortować artykuły i w jakiej kolejności.
Zapytacie po co ?
Chociażby po to by w module : Artykuły - Kategoria działała poprawnie opcja sortowania kolejności wyświetlania artykułów "Jak na zapleczu" (malejąco/rosnąco)
Moim zdaniem ;) nie działa to tak jak powinno ;)

Kolejność w tabeli "Artykuły" (za pomocą kolumny 'Kolejność') powinna być ustalana dowolnie bo dopiero wtedy ma to sens. Użytkownik powinien mieć pełną możliwość decydowania w jakiej kolejności chce ustawić artykuły by je potem wyświetlić. Tutaj niestety tak się nie dzieje. Myślałem że to wina jakiś ustawień odgórnych ale sprawdzałem i nic nie pomaga.

Dlatego pytanie czy u Was jest tak samo?

siristru
17-12-2018, 17:47
I działa tylko że nie w tabeli z wszystkimi artykułami.

I NIE może działać. To jest sortowanie a właściwie ustalanie kolejności jest RELATYWNE, to znaczy w odniesieniu do czegoś. Tym czymś jest właśnie kategoria. Poza tym nie myl pojęć "sortowanie" i "zmiana kolejności".
Sortować można po tytule, id, autorze, języku itp.
Dlatego też zwiastun napisał, że:


Opcja ta służy do tymczasowego posortowania rekordów.

Dopiero sortując po kolumnie "kolejność" pozwala na zmianę kolejności (widoczne kiedy włączone jest sortowanie po kolejności).

Sortowanie kolejności dla wszystkich artykułów a następnie zmiana ich kolejności nie ma sensu bo nie ma odniesienia. Zwłaszcza gdy wyświetlasz artykuły z danej kategorii.


Chociażby po to by w module : Artykuły - Kategoria działała poprawnie opcja sortowania kolejności wyświetlania artykułów "Jak na zapleczu" (malejąco/rosnąco)

Mylisz się, opcja ustalania kolejności i jej wyświetlania działa znakomicie i używam jej od lat.


Kolejność w tabeli "Artykuły" (za pomocą kolumny 'Kolejność') powinna być ustalana dowolnie bo dopiero wtedy ma to sens. Użytkownik powinien mieć pełną możliwość decydowania w jakiej kolejności chce ustawić artykuły by je potem wyświetlić.

Jak już próbowaliśmy ze zwiastunem wyjaśnić - kliknięcie na kolumnę "kolejność" sortuje artykuły tymczasowo ale pozwala zmienić ich kolejność w obrębie kategorii.

Demonstracja:

1. Utworzyłem i ponumerowałem 5 artykułów, ich kolejność jest domyślna (niczego nie zmieniałem). Na zrzucie uaktywniona jest sortowanie w kolumnie "kolejność": http://prntscr.com/lw4l6u
2. Wyświetlam moduł Artykuły - Kategoria, sortowanie "Jak na zapleczu" http://prntscr.com/lw4m3p (artykuły pochodzą z kategorii "Test - kolejność", kolejność rosnąco)
3. Wynik: http://prntscr.com/lw4mr0
4. Teraz mając aktywną kolumnę "kolejność", "chwytam" i mieszam artykuły: http://prntscr.com/lw4n6u
5. Wynik na froncie: http://prntscr.com/lw4ne9

Czyli jak widać - działa znakomicie. To samo dotyczy wyświetlania kolejności dla artykułów wyróżnionych oraz artykułów w kategorii (blog lub lista).

danieladrianka
17-12-2018, 20:40
Twój przykład jest ok.
Ale ja sortuję (ustalam kolejność) wszystkie artykuły (wiele kategorii).
Moduł Artykuły - Kategoria pozwala na wyświetlanie listy artykułów nie tylko z jednej kategorii ale z wielu lub wszystkich i tu właśnie jest dziwne zachowanie .
Dziwne jest też zachowanie głównej tabeli z artykułami gdzie wyświetlasz wszystkie artykuły. To właśnie tutaj nie działa dowolne ustawianie artykułów i zapamiętywanie ich kolejności. Czym więc sugeruje się Joomla i tak je ustawia?

1.Utworzyłem 6 artykułów - 1 w kategorii Pomoc, 2 w kategorii Pomoc, 3 w kategorii rosa, 4 w kategorii inne, 5 w kategorii inne, 6 w kategorii Przegląd
Nic nie zmieniałem i ... Joomla już sam poprzestawiał arty w tabeli i nie mam możliwości ich ustawienia po kolei 1,2,3,4,5,6 ani w inny dowolny sposób. Przestawić mogę je tylko w obrębie swoich kategorii ale nie już przed lub po jakiejś kategorii lub mieszając.
http://prntscr.com/lw6kzc

Dasz radę u siebie ustawić je 1,2,3,4,5,6 ?? i tak wyświetlić w module Artykuły -Kategoria ?

2. Najciekawsze jest jeszcze co innego ;)
Ustaw w module Artykuły-Kategoria sortowanie "Jak na zapleczu" Rosnąco
http://prntscr.com/lw6ngk
Ustaw w tabeli Artykuły dowolną kombinację z filtrem Kolejność Rosnąco
http://prntscr.com/lw6ol1
U mnie jak widać na załączonym zrzucie jest : 6,3,4,5,2,1
Zobacz co wyświetla moduł w witrynie :
http://prntscr.com/lw6p8c

U mnie wyświetla : 3,6,4,2,5,1 ????!!!

Coś tu jest nie tak .
Co zrobić aby poprawnie wyświetliło ?

Jeśli w module ustawimy : Uporządkuj jak na zapleczu i Malejąco ,
http://prntscr.com/lw6qpo

a w tabeli Artykuły - kolejność Rosnąco
http://prntscr.com/lw6r8m

to w module w witrynie kolejność będzie następująca: 1,2,5,4,3,6
Czyli po kolei ale od dołu tabeli Artykuły ;)

Teraz zmień w module na Rosnąco a w tabeli Artykuły Malejąco i co otrzymamy?
3,6,4,2,5,1
czyli po kolei zaś od dołu tabeli Artykuły ;)


Zakręcone nieprawdaż??

Teraz proszę powiedzcie jak ustawić aby w module w witrynie artykuły ułożone były : 1,2,3,4,5,6 ??
Zaraz padnie odpowiedz po tytule , po ID
W tym przypadku tak da się .
Ale z reguły artykuły piszemy z różnymi tytułami , w różnych kategoriach a iID przypisywane jest automatycznie
Jedynym wyjściem byłoby ustawienie dowolnej kolejności artykułów właśnie w tabeli Artykuły na zapleczu i wyświetlenie ich w module.
Dlatego nie rozumiem Waszej upartej tezy że sortowanie to (ustawianie kolejności) jest relatywne i tymczasowe. Ono takie nie może być bo nie spełnia podstawowej zasady ustalenia kolejności takiej jaką chce mieć użytkownik .
Jaką zasadę przyjmuje system Joomla że ustala to sobie sam w dowolny sposób?

2. Ustawianie według kolumny "Kolejność " w tabeli artykuły powinna zachowywać się tak jak tabela "Artykuły:Artykuły wyróżnione"
Tam działa to bez względu do jakiej kategorii należy artykuł, można je przestawiać w dowolny sposób, mieszać kategorie, przestawiać i zapisywać i wyświetlać tak jak są ustawione.

siristru
17-12-2018, 22:05
Tak, w ten sposób to nie będzie działać tak jak chcesz bo: w widoku ogólnym lub kategorii nadrzędnej nie można ustawiać kolejności.
Poza tym mamy w bazie danych, w tabeli _content kolumnę "ordering".
I tutaj dzieją się bardzo interesujące rzeczy.

Jeśli dodajesz artykuły do kategorii, w tabeli "ordering" otrzymują 0.
Jeśli kiedykolwiek je przestawisz (zmienisz kolejność w obrębie własnej kategorii) otrzymają kolejne liczny w kolumnie "ordering".

Zatem Joomla ustawia kolejność po tej kolumnie. Na początku idą zera. Jeśli kilka artykułów ma 0 to ustawiane są po ID artykułu.

Tak wyświetlane są w bazie danych. Tak wyświetla je moduł. Ale inaczej wyświetla je zaplecze.

Baza danych: http://prntscr.com/lw848l
Moduł: http://prntscr.com/lw84fx (na zrzucie nie widać ale ID Test 11 to po kolei od góry: 23, 25, 28)
Zaplecze: http://prntscr.com/lw84t9

Czyli zaplecze bierze przy ustawianiu kolejności jeszcze jeden parametr PRZED ID artykułu.

Teraz wnioski musisz wyciągnąć sam - jak "oszukać" system.

zwiastun
18-12-2018, 02:58
Opcja uporządkowania "Jak na zapleczu" ma sens w dwóch przypadkach:
1) w obrębie jednej kategorii (tworzę np. poradnik i w tym poradniku muszę uporządkować artykuły wg własnej kolejności (rozdziałów), a nie wg autora, tytułu, itp.
2) w przeglądzie artykułów wyróżnionych (także z wielu kategorii). I tam mogę sobie uporządkować artykuły dowolnie, gdy z jakichś względów potrzebuję.