Exposed Filter funktioniert in einem Block nicht
am 18.10.2016 - 16:15 Uhr in
In Views habe ich eine Auflistung eines Inhaltstyps mit Suchfunktion realisiert. Sprich es gibt auch ein exposed Filter, um die darunter erscheinende Liste einschränken zu können (z. Bsp. nach Kategorien).
Von dieser Ansicht habe ich in Views eine Seite und einen Block erstellt (identische Einstellungen).
Rufe ich die Seite direkt auf, funktioniert alles, auch der exposed Filter kann verwendet werden.
Wird der Block in ein Node eingebettet, verwende ich also den Block anstatt der Seite, dann funktioniert der exposed Filter nicht, es tut sich gar nichts, die exposed Filter - Suche funktioniert im Block nicht, identisch auf der Seite aber problemlos.
Gibt es für dieses Problem eine Lösung oder einen Patch?
- Anmelden oder Registrieren um Kommentare zu schreiben
Bei exposed Filtern in
am 18.10.2016 - 17:43 Uhr
Bei exposed Filtern in Blöcken musst du unter Erweitert Ajax aktivieren.
Ajax ist aktiv
am 18.10.2016 - 18:46 Uhr
Ja, Ajax ist aber schon aktiviert.
Ich denke, das Problem muss ein anderes sein. Danke trotzdem. Andere Vermutungen?
Hi
am 19.10.2016 - 13:45 Uhr
wie hast Du denn das gemacht?
Wird der Block in ein Node eingebettet,
Üblicherweise wird ein Block in Regionen von Seiten eingebettet!
MfG
Robert
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)
Blöcke kann man auch in Nodes einbetten
am 19.10.2016 - 14:07 Uhr
Ja, das ist üblicherweise so.
Oft braucht man auch auf einer langen Seite Text mitten im Text mehrere (oder einen) Block und dann ist es wesentlich einfacher, wenn der Block in der Node eingebettet wird anstatt über das Blocklayout. Und dafür gibt es ja einige Module in Drupal, die das ermöglichen. Ist also eigentlich nichts besonderes und wird oft gebraucht.
Bräuchte eine Lösung für das oben angesprochene Problem.
Hi,unterstützt das Modul,
am 19.10.2016 - 16:11 Uhr
Hi,
unterstützt das Modul, das Du dafür einsetzt überhaupt
Views Exposed Filter und ggf. Views Pager?
Ich frage auch wegen Views Pager, weil gerade dieser von Seiten abhängt.
Wenn das Modul das nicht unterstützt,
musst Du das wohl selbst programmieren.
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)
Nur exposed Filter funktionieren nicht
am 19.10.2016 - 16:45 Uhr
Die in Nodes eingebetteten Blöcke haben Pager und diese funktionieren einwandfrei, noch besser mit Ajax. Das Blättern ist wirklich komfortabel.
Sprich, die eingebetteten Views-Blöcke funktionieren, also bleibt die wichtige Frage, warum exposed Filter nicht funktionieren und wie man das lösen kann.
Wenn es richtig konfiguriert
am 19.10.2016 - 17:15 Uhr
Wenn es richtig konfiguriert ist und nicht funktioniert,
dann sollten in Firebug, oder Drupal dblog oder Apache error.log
Fehler auftauchen.
Schau mal da nach!
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)
Uncaught TypeError: Cannot read property 'top' of null
am 19.10.2016 - 22:27 Uhr
Es kommt folgender JavaScript-Fehler:
Uncaught TypeError: Cannot read property 'top' of null
Ich nehme mal an, der Fehler
am 19.10.2016 - 22:42 Uhr
Ich nehme mal an, der Fehler wird in Firebug angezeigt.
In welchem Skript tritt der Fehler auf?
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)
ajax_view.js patch
am 19.10.2016 - 23:11 Uhr
Fehler tritt in ajax_view.js auf.
Ich habe jetzt diesen Patch
https://www.drupal.org/node/1809958
#41
eingebaut und jetzt reagiert auch der exposed Filter und ich nehme an, es ist behoben.
Allerdings eine Frage:
Wenn man den Ajax-Pager verwendet zum Blättern, wird die nächste Views-Seite direkt im Inhalt (einbebetteter Block) angezeigt, ohne dass die Seite neu geladen wird. Das ist ja der Sinn von Ajax in dem Fall.
Wenn allerdings der Exposed Filter genutzt wird (z. Bsp. Kategorie auswählen und Suche-Button klicken) wird die Seite weitergeleitet auf die Views-Seite, welche direkte URL hat. Ist das korrekt so oder sollte es bei Ajax anders sein?
Gibt es Exposed Filter, welche sich so verhalten, dass die Seite nicht neu geladen wird und nicht auf die Views-Seite weiterleitet, wenn man den Exposed Filter betätigt? (Sprich alles wird mit Ajax nachgeladen/aktualisiert ohne dass die Seite gewechselt oder neu geladen wird).
Anzeige verlinken - aber wie mehrsprachig?
am 19.10.2016 - 23:21 Uhr
Okay, habe herausgefunden, dass man bei der Views-Konfiguration mit "Anzeige verlinken" die URL jener Seite eingeben kann, in der der Block eingebunden ist.
Damit wird zwar die Seite neu geladen, allerdings landet man wieder auf der gleichen Seite, das ist schon mal gut.
Allerdings ergibt das wiederum ein wohl unlösbares Problem: Das ganze Projekt ist mehrsprachig und man landet mit dieser URL dann nur bei einer einzigen Sprache korrekt und bei allen anderen Sprachen nicht. Sozusagen unbrauchbar. Lösung?
Bleibt noch die Frage, ob bei Exposed Filtern Ajax so eingesetzt werden kann, dass die Seite nicht neu geladen wird. Vielleicht mit einem zusätzlichen Modul, welches genau das macht?
Zitat: Allerdings ergibt das
am 20.10.2016 - 10:11 Uhr
Allerdings ergibt das wiederum ein wohl unlösbares Problem: Das ganze Projekt ist mehrsprachig und man landet mit dieser URL dann nur bei einer einzigen Sprache korrekt und bei allen anderen Sprachen nicht. Sozusagen unbrauchbar. Lösung?
Sollte hiermit funktionieren:
https://www.drupal.org/project/i18_page_views
Grüße Jenna
i18n page views
am 20.10.2016 - 11:05 Uhr
Ja, möglicherweise.
Ein aufwändiges Modul nur um einen einzigen Pfad mehrsprachig zu setzen: "Anzeige verlinken". Ob genau dieser Punkt in dem Modul funktioniert wäre zu testen.
Offen bleibt die Frage bezüglich Ajax-Einsatz bei den Exposed Filtern (ohne dass die Seite neu ladet).
Hi nochmal, wie gesagt finde
am 20.10.2016 - 14:18 Uhr
Hi nochmal,
wie gesagt finde ich das was Du machst sehr ungewöhnlich.
Du möchtest das Nodes(Inhalt) Blöcke enthalten.
Das entspricht irgendwie nicht dem Konzept von Drupal!
Seiten=>Blöcke=>Inhalt
bei Dir
Seiten=>Inhalt=>Blöcke
Probiers doch aus, ob in der Exposed Filter mit Ajax in einem Block in
der Seite funktioniert.
Wenn es funktioniert und im Deinem Node (Block ????) nicht,
dann liegt es am angesprochenen Konzept.
Gruss
Robert
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)
Suche andere Lösung für das Einbetten von Blöcken in den Content
am 20.10.2016 - 15:06 Uhr
Hallo,
Du hast recht, ich habe das jetzt alles noch einmal getestet:
Wenn der Block ganz normal über Menü "Struktur - Blöcke" eingefügt wird und wenn dieser Block nicht gleichzeitig auf einer Seite, auf der auch ein Block im Content eingefügt wurde, dann funktioniert der Block und auch der Exposed Filter funktioniert mit Ajax!!!
Hatte das vorher auch getestet, allerdings anscheinend war unten der andere Bock auf der gleichen Seite und der stört das Ajax-Verhalten.
Also ich kann bei diesem Projekt, Blöcke mitten im Inhalt einfügen. Dies deswegen, weil mittels selbst geschriebenen Modul (nicht von mir) ein Input filter realisiert wurde, welches genau das gleiche macht wie das Module "Node Embed", allerdings eben für Blöcke.
Das funktioniert auch sehr gut, aber anscheinend macht es Probleme mit Ajax zusammen mit Exposed Filtern!
Okay: Jetzt steht fest, wenn ich Ajax und Exposed Filter benötige, dann darf ich diesen Block nicht mittels Block Embedding einfügen. In allen anderen Fällen schon.
Ich suche hier unbedingt eine andere Möglichkeit, Blöcke in den Content einfügen zu können, es gibt dafür Module (Insert Block, Block Filter und viele andere wie Field Injector, Entity Embed usw.).
Wer kann mir ein passendes Modul empfehlgen, welches nichts anderes tut als mittels shortcode oder ähnlich direkt in den Content zwischen den Text-Absätzen Blöcken einzufügen, z. Bsp. so:
[[block=block_name&module=views&descritpion=your text here]]
Oder macht man das in Drupal 7 anderes? Entities? Paragraphs?
Da die Seite mehrsprachig ist (viele Sprachen, nicht nur 2), funktioniert das mit dem Einfügen von Blöcken in den Content sehr gut, weil die Block-Shortcodes bei allen Sprachen gleich bleiben können und die Blöcke in Views etc. so erstellt wurden, dass die Blöcke automatisch nur die Inhalte in der richtigen Sprache anzeigen.
Wenn ich für jede Sprache jeweils einen eigenen Block erstellen müsste und diese dann einzeln in jeder Sprache einfügen müsste, wäre das ein riesiger Aufwand, kommt hier bei dem Projekte nicht in Frage.
Danke.
Hi,deine Blöcke sind gar
am 21.10.2016 - 04:49 Uhr
Hi,
deine Blöcke sind gar keine Blöcke, sondern Views ;-)
Auch das kannst Du testen:
-Generiere einen Custom Block
-Generiere einen Block über Views
-Schalte Views ab.
-Schau mal ob beide funktionieren
Demzufolge möchtest Du genauer eine View(Exposed Filter) einem Node hinzufügen.
Ich weiss zwar immer noch nicht genau was Du machen möchtest
Entity References wäre evtl. etwas, das Du für sowas nehmen könntest?
Gruss
Robert
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)
Views-Blöcke sind auch Blöcke
am 21.10.2016 - 12:53 Uhr
Die in Views erstellten Blöcke sind auch ganz normale Blöcke, denn sie scheinen im Blocklayout (Menü Struktur - Blöcke) auf und können dort aktiviert und in die Regions verschoben werden.
Nur dass ich sie (teilweise) direkt in den Node, zwischen Textblöcken, einbette.
Deswegen sind sie trotzdem Blöcke.
Außerdem verwende ich das Modul "Nodeblock" um aus bestimmten Nodes eben Blöcke zu machen, um diese dann komfortabel mitten in längere Textbereiche einbetten zu können: Der große Vorteil: Da bei diesem Projekt viele Sprachen aktiv sind, werden immer die Inhalte in den korrekten Sprachen angezeigt, dies geht mit den Blöcken einfach am besten.
Aber egal: Würde man ein Projekt neu beginnen (dieses ist alt und wurde von mir übernommen), würde man mit Paragraphs und Entities arbeiten.
Hallo,nein, sind es eben
am 21.10.2016 - 13:52 Uhr
Hallo,
nein, sind es eben nicht!
Wenn es normale Blöcke wären, dann müssten Sie ja auch ohne das Views Modul funktionieren.
Wie ich oben schon geschreiben habe:
Schalte doch mal das Views Modul ab und schau ob Deine Blöcke noch funktionieren.
Sollten Deine Blöcke ohne das Views(disabled) Modul funktionieren, entschulde ich mich.
Gruss
Robert
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)
Block egal, Lösung wichtig
am 21.10.2016 - 18:44 Uhr
Verstehe diese Aussagen nicht, weil es nicht relevant ist.
Es ist vollkommen egal, ob Blöcke normale Blöcke sind oder keine normalen Blöcke sind. Das ist wohl allen egal und mir auch.
Ich muss die Inhalte korrekt platzieren (wie habe ich oben oft geschrieben) und dazu setze ich diesen Block dort hin, egal wie man den Bock nennt. Und das funktioniert auch bis auf einen Fall, der ja kein so großes Problem darstellt, wenn man jetzt genau weiß, wann das Problem auftritt, worum man achten muss und unter welchen Umständen man den Block eben nicht einbetten kann. Das ist oben alles klar geworden.
Problematisch wäre es doch nur, wenn das nicht geklärt werden hätte können, denn dann weiß man nie, wird das oder das oder das irgendwann nicht mehr funktionieren. So es ist es jetzt aber nicht, weil es eben geklärt werden konnte. Und dann spielt keine Rolle ob ein Block normal heißt oder nicht normal ist.
Wichtig ist, dass eine Lösung da ist und man weiter kommt.
ich weiss nicht was an meinen
am 22.10.2016 - 10:07 Uhr
ich weiss nicht was an meinen Aussagen so schwer zu verstehen ist
oder daran falsch sein sollte, wenn ich sage Dein Block wird durch Views ausgliefert?
Es könnte evtl. auch ein Problem mit Deiner eigenen Einstellung sein:
Dir mag ja es vollkommen egal sein, ob ein Block ein Custom Block, ein Menü Block, oder ein Views Block ist.
Drupal eben nicht, ansonsten ware 1/3 Deines Beispielcodes auch irrelevant!
Wer kann mir ein passendes Modul empfehlgen, welches nichts anderes tut als mittels shortcode oder ähnlich direkt in den Content zwischen den Text-Absätzen Blöcken einzufügen, z. Bsp. so:
[[block=block_name&module=views&descritpion=your text here]
]
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)
Deine Aussage ist richtig
am 22.10.2016 - 13:48 Uhr
Es ist nichts falsch an deiner Aussage, im Gegenteil, deine Aussage ist richtig.
Es spielt aber hier keine Rolle, von welcher Art dieser Block ist, entscheidend ist, dass ich das unter Zeitdruck lösen muss und wenn es zur Lösung beiträgt ist es relevant, sonst nicht.