Widoki odsłonięte automatyczne przesyłanie filtra traci ostrość


9

Mam skonfigurowany widok z włączonym ajaxem. Dodałem również odsłonięty filtr z włączoną funkcją automatycznego wysyłania, aby podczas wpisywania użytkownika w polu tekstowym widok był aktualizowany automatycznie. Problem polega na tym, że gdy formularz przesyła się automatycznie, pole tekstowe traci ostrość.

Przeczytałem, że muszę rozdzielić odsłoniętą formę na osobny blok, jednak ta opcja nie jest dostępna, ponieważ mój widok jest samym blokiem.

Jakakolwiek pomoc byłaby mile widziana, ponieważ to prawdziwy ból związany z koniecznością ciągłego klikania w polu tekstowym, aby kontynuować pisanie.


2
Jest to znany problem: drupal.org/node/1217948 i nie jest tak łatwy do naprawienia
Daniel Wehner

Czy możesz zrobić odsłonięty filtr_alterów, aby ręcznie zmienić wartości i dodać własny kod JavaScript?
Andrew Welch,

Odpowiedzi:



2

Masz naprawdę tylko jeden wybór tutaj.

Tak czy inaczej musisz (ponownie) przenieść formularz poza widoki.

Powodem, dla którego odsłonięty filtr traci fokus, jest to, że cały widok jest zastępowany w ajax. Jeśli twoja postać jest renderowana przez ten sam widok, po prostu nie ma możliwości, abyś mógł się skupić.

Rozwiązania (wszystkie obejmują przeniesienie formularza z widoku):

  • Użyj widoków „odsłoniętych filtrów w bloku” Zalecana opcja
  • Skonfiguruj blok niestandardowy, aby wyrenderować formularz filtru ujawnienia (Wymagaj pisania kodu)

Poniżej znajduje się kilka opcji, których należy unikać, ale wspominając o tym w ostateczności.

  • Zawsze możesz po prostu „zhakować” swoje views.tpl.php, aby przenieść formularz ujawnienia poza główny div widoku. Używam tutaj „hack”, ponieważ nie jest to dobra opcja. Spowoduje to umieszczenie formularza bezpośrednio nad twoim widokiem, ale kod JS wyświetleń zastąpi tylko div widoku. Biorąc to pod uwagę, JS nie będzie po prostu działać. Musisz to naprawić.

  • Następnie w ostateczności zawsze możesz po prostu użyć JS, aby przenieść formularz. Ten jest bardzo odradzający. Ponieważ ponownie formularz straci zachowanie JS po tym, jak widoki zaktualizują wyświetlanie


Na wypadek, gdyby ktoś się zastanawiał, uważam, że rozwiązanie zalecane tutaj przez @ericduran, aby wybrać opcję Widoki, aby umieścić „odsłoniętą formę w bloku”, jest dostępne tylko wtedy, gdy widok dotyczy strony (nie jest dostępny dla widoku jako bloku) .
Max Starkenburg
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.