Le visualizzazioni del filtro esposto invio automatico perdono attenzione


9

Ho impostato una vista con Ajax abilitato. Ho anche aggiunto un filtro esposto con invio automatico attivo in modo che quando l'utente digita nel campo di testo la vista si aggiornerà automaticamente. Il problema è che quando il modulo viene inviato automaticamente, la casella di testo perde lo stato attivo.

Ho letto che devo separare il modulo esposto in un blocco separato, tuttavia questa opzione non è disponibile poiché la mia vista è un blocco stesso.

Qualsiasi aiuto sarebbe apprezzato, in quanto è una vera seccatura dover continuare a fare clic nella casella di testo per continuare a digitare.


2
Questo è un problema noto: drupal.org/node/1217948 e non è così facile da risolvere
Daniel Wehner

Puoi fare un Exposed_filter_alter per modificare manualmente i valori e aggiungere il tuo javascript?
Andrew Welch,

Risposte:



2

Hai davvero solo una scelta qui.

In un modo o nell'altro è necessario (ri) spostare il modulo fuori dalle viste.

Il motivo per cui il filtro esposto perde attenzione è perché l'intera vista viene sostituita su Ajax. Se il tuo modulo viene visualizzato con la stessa vista, non puoi assolutamente rimanere concentrato.

Soluzioni (tutte implicano lo spostamento del modulo fuori dalla vista):

  • Utilizzare le viste "filtri esposti in un blocco" Opzione consigliata
  • Imposta un blocco personalizzato per eseguire il rendering del modulo filtro esporre (Richiedi scrittura codice)

Di seguito sono riportate alcune opzioni che dovresti evitare, ma citando qui come ultima risorsa.

  • Puoi sempre "hackerare" il tuo views.tpl.php per spostare il tuo modulo di esposizione dal div della vista principale. Uso "hack" qui perché questa non è una buona opzione. Questo posizionerà il modulo proprio sopra la vista, ma il codice JS delle viste sostituirà solo il div della vista. Detto questo, JS non funzionerà. Dovrai risolverlo.

  • Quindi, come ultima risorsa, puoi sempre utilizzare JS per spostare il modulo. Questo è altamente scoraggiante. Perché di nuovo il modulo perderà i comportamenti JS dopo che le visualizzazioni aggiornano il display


Nel caso in cui qualcuno si stesse chiedendo, credo che la soluzione raccomandata qui da @ericduran per selezionare l'opzione Viste per mettere "modulo esposto in blocco" sia disponibile solo se la vista è di una pagina (non è disponibile per una vista come blocco) .
Max Starkenburg,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.