Podział węzła na wiele stron [zamknięte]

14

Typ treści - artykuł. Chcę podzielić artykuły na wiele stron, gdy sam artykuł staje się zbyt długi. Na przykład, jeśli mamy artykuł „jak działa drupal”, byłby ogromny :), chcę podzielić go na kilka stron, a w pewnym momencie pojawi się komunikat „przejdź do strony 2 z 10”, a następnie „przejdź do strony 3 z 10 " i tak dalej. Mam nadzieję, że mnie masz i że możesz podzielić się pomysłami. Z góry dziękuję!

Iwan Iwanow
źródło
Powiązane: Utwórz pager między polami . Prawdopodobnie niektóre odpowiedzi będą dla ciebie przydatne. Jeśli adoptujesz jedną z nich, opublikuj tutaj odpowiedź na siebie;)
Mołot
@Molot, czy znasz sposób na przesłonięcie domyślnego widoku węzła za pomocą Widoku, wtedy mogę użyć domyślnego pagera widoków. To byłoby dla mnie najbardziej czyste rozwiązanie.
Iwan Iwanow
Wystarczy ustawić ścieżkę strony widoków /node/%i użyć filtrów kontekstowych (afair), aby uzyskać właściwy węzeł z jego nidścieżki. W razie wątpliwości zadaj nowe pytanie, po prostu nie zdziw się, jeśli ktoś się dowie, że zostało już zadane.
Mołot

Odpowiedzi:

9

Sugeruję podzielenie tekstu na jakąś część za pomocą jquery, a przewijanie powoduje dołączenie (może z pewnym efektem jak zanikanie ....) innej części do głównej części.
Sugeruję, abyś osiągnął tę pracę przez jquery (rozwiązanie po stronie klienta)

Yusef
źródło
W ten sposób zaimplementowałem zakładki na jednej ze stron, które prowadziłem. Muszę przyznać, że działa całkiem dobrze. Naprawdę dobrym pomysłem jest wypisanie wszystkich stron i ukrycie każdej z nich oprócz pierwszej w js. A także zaimplementuj #1w adresie URL, aby ustalić, z którą stroną użytkownik się łączy. (Moja implementacja karty jest dostępna tutaj , przepraszam, ale nie mam już praw autorskich do użytego kodu JS). AJAX może również działać, ale z drugiej strony jest to zwykle przesada, ASCII dobrze się kompresuje i większość czasu zajmuje zainicjowanie połączenia, a nie faktyczny transfer, więc jest to strata.
Mołot
Używanie ajax do wczytywania prostego zadania, takiego jak pobieranie bazy danych treści (treści), nie jest optymalnym zadaniem i jest marnotrawstwem obciążenia na serwerze, po tym nie trzeba być ekspertem od programowania js przy pomocy kodu linii 50, możemy wdrożyć to, co zasugerowałem , tak na marginesie, myślę, że rozwiązanie po stronie klienta jest najlepszym rozwiązaniem dla tego zadania .tnx do komentowania i omawiania @ Mołot :)
Yusef
Prawidłowe wdrożenie example.com/article/23#page-1zajmie ponad 50 linii. I warto go mieć, aby użytkownicy mogli mieć bezpośrednie linki do wybranej strony.
Mołot
Wolę również to rozwiązanie - jest ono znacznie bardziej przydatne dla osób, które mają dość czekania na cały stos Drupala, aby załadować każdą stronę. Pozwala także Google na indeksowanie artykułu jako pojedynczego elementu, a nie na wynikach wyszukiwania, które potencjalnie mogą prowadzić do środka artykułu. Sugerowałbym jednak sprawdzenie dostępności czytników ekranu i tym podobnych - to mogłoby uczynić to rozwiązanie nieco bardziej skomplikowanym (choć nadal najlepszym rozwiązaniem IMO)
Nerdmaster
cóż, zrobiłem to na końcu z kilkoma liniami jquery. Sprawiłem, że pole treści akceptuje nieograniczoną liczbę wartości (symulując różne strony). Następnie po prostu przełącz btw wyświetlaj brak / blok.
Iwan Iwanow
9

Szukasz modułu Smart Paging

Zapewnia podział długiej zawartości Drupala na podstrony według liczby znaków / słów lub zastępczego znacznika HTML dla encji terminów węzłów, użytkowników i taksonomii.

Dla Drupal 6

Moduł stronicowania , możesz ustawić limit znaków, a on automatycznie podzieli się na podstrony, patrz poniższy zrzut ekranu

Automatyczne dzielenie długich stron na mniejsze według limitu słów (lub znaków)

wprowadź opis zdjęcia tutaj

Bala
źródło
Dziękuję za Twoją odpowiedź! Pracuję jednak nad Drupalem 7. Czy istnieje takie rozwiązanie dla D7?
Iwan Iwanow
Cóż, wypróbowany moduł Smart Paging wydaje się, że wykonuje to zadanie, ale jest niezgodny z pagerami AJAX Views i w moim przypadku takiego używam.
Iwan Iwanow
0

Rozwiązaniem, którego użyłbym, byłoby podzielenie go na wiele artykułów i połączenie ich ze stroną przeglądania (która ma pager), ponieważ już pracujesz z widokami. Po prostu odfiltruj artykuły na nid lub jakiś (ukryty) tag. Jeśli chcesz, aby wszystkie miały ten sam maksymalny rozmiar, możesz użyć https://drupal.org/project/maxlength . Dodaj część X do tytułu, w ten sposób czytelnicy mogą łatwo rozróżnić różne strony.

Marcel
źródło
0

Nie widzę, co musi mieć pager Wyświetlenia AJAX (które strony wyświetlają wiersze wyników) z wyświetlanym artykułem (który jako taki ma tylko 1 wynik). Dwie różne rzeczy do strony. Ale możesz wypisać „treść artykułu jako pole obliczeniowe”. Zacznij od obliczonego pola, w którym drukowane są tylko pierwsze x słowa z pola zawartości artykułu. (lub do pierwszego łamacza strony) Zakończ go, używając wygenerowanego przez siebie html „więcej linku”. Ten więcej linków wywołuje twój pogląd z argumentem. Możesz użyć tego argumentu w PHP swojego pola obliczeniowego. Wyświetl X-tą część w zależności od otrzymanego argumentu.

użytkownik18099
źródło
Dziękuję za odpowiedź! Problem # 1103810, gdy włącza moduł inteligentnego pagowania, rozkłada moduł Widoki Ładuj więcej (lub Pager Ajax widoków), więc nie możesz używać obu. To miałem na myśli.
Iwan Iwanow