Mam widok typu zawartości, który zawiera dwa różne pola daty (jedno z powtórzeniami daty i jedno wielowartościowe pojedyncze daty). W danym momencie wypełnione jest tylko jedno pole daty. W widoku widoku połączyłem dwa pola, ukrywając pierwsze pole daty i przepisując drugie, włączając w to zamienny token pierwszego i drugiego. Czy jest jakiś sposób na użycie teraz przepisanego pola do sortowania widoku w porządku rosnącym na podstawie tego połączonego pola daty? Wygląda na to, że sortuje je na podstawie oryginalnej wartości pola daty.
Przeprowadziłem badania i znalazłem tylko stare, nieco powiązane wątki z ślepymi zaułkami.
wyświetlenia sortowane według przepisanego pola?
Tabela nie jest sortowana według przepisanego pola, ale według oryginalnego pola
Widoki: pole niestandardowe dla kryteriów sortowania
Sortuj według globalnego: niestandardowy tekst. Czy to możliwe?
Miałem nadzieję, że istnieje nowy lub podstępny sposób, aby to osiągnąć.
Odpowiedzi:
Jeśli nie chcesz wybierać trasy modułu, jest to jedna alternatywa:
1) instalacja komputerowa polowy moduł
2) dodać pole komputerowej do treści typu
3) w ustawieniach terenowych, w kodzie komputerowa (PHP) textarea, można uzyskać dostęp do danych pól.
Połącz zmienne z polami daty w bieżącym języku.
Twoje wartości daty można teraz znaleźć w
Zrób dowolną logikę z polami daty i przypisz wynik do
Teraz masz sortowalne pole, którego możesz użyć w widokach, ale najpierw musisz zaktualizować wszystkie węzły, ponieważ obliczone pole zostanie obliczone i zapisane tylko w bazie danych przy zapisie węzła. Można to zrobić na wiele sposobów, jednym z nich jest widok Operacje zbiorcze, co daje opcję ponownego zapisania węzłów w folderze admin / content.
źródło
[und]
składni. Zamiast tego użyj field_get_items.Myślę, że możesz to zrobić za pomocą funkcji View Natural Sort . Ma opcję sortowania pól oznacza - Włącz sortowanie według określonych pól . Jeśli wykonasz ten samouczek , wpadniesz na pomysł !!.
źródło
Jedynym sprytnym sposobem na to, aby tak się stało, jest to, że jeśli nie używasz paginacji, możesz użyć sortowania PHP w niestandardowym zastąpieniu zapytania, które nie zależy od bazy danych.
Według stevector ,
Zatem najbardziej praktycznym i niezawodnym rozwiązaniem jest użycie pola obliczeniowego, o którym wspomniał Kari Kääriäinen.
źródło
Jest to trochę hackerski sposób, aby to zrobić, ale działa i nie potrzebujesz żadnych dodatkowych modułów.
Utwórz etykietę dla pola, które chcesz posortować i NIE wykluczaj go z wyświetlania. Zamiast tego przepisz wyświetlacz jako „pusty”, dodając pusty
<!---->
komentarz HTML jako wartość przepisania. Następnie dodaj inne pole php / przepisane jako element podrzędny tej kolumny.Spowoduje to wyświetlenie nagłówka tabeli dla właściwej kolumny do sortowania.
źródło