Accueil › Toolset Professional Support › [Résolu] Filter
This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.
Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
---|---|---|---|---|---|---|
- | - | 14:00 – 20:00 | 14:00 – 20:00 | 14:00 – 20:00 | 14:00 – 20:00 | 14:00 – 20:00 |
- | - | - | - | - | - | - |
Supporter timezone: Asia/Ho_Chi_Minh (GMT+07:00)
Documentation connexe :
Ce sujet contient 25 réponses, a 2 voix.
Dernière mise à jour par Beda Il y a 5 années et 9 mois.
Assisté par: Beda.
Ich bin echt glücklich über diese tolle Hilfe. Herzlichen Dank Beda!
Alles läuft soweit. Nun wollte ich einen Filter (Abfrage) erstellen, wo die Besucher verschiedene Filter anwenden können.
Z.B. nach Siege, Mannschaft, Land, etc etc.
Hier müsste man dann aber einige ID's ausschliessen (doppelte Mannschaften), damit weder die Mannschaft, noch deren Erfolge beim Filter zu sehen sind.
Habe das bereits versucht, jedoch ohne Erfolg.
Eine View kann immer nur nach einem einzelnen "Beziehungs Baum" filtern.
Das heisst, eine View die Spieler auflistet kann zum beispiel entweder nach Mannschaften oder nach Medaillengewinner abgesucht werden, nicht aber beide zusammen.
Es währe wichtig dass Du diese forderung an denselbe form schickst wie zuvor (https://toolset.com/home/contact-us/suggest-a-new-feature-for-toolset/) so dass Toolset bald "Filter nach mehreren Beziehungs Bäumen erlaubt".
Du kannst ntürlich Spieler nach Mannschaften und dann dessen (der mannschaften) Ländern suchen, nicht aber Spieler nach Mannschaften und des spielers Medaillengewinne, da dies zwei verschieden beziehungen sind.
Also, da wir gegnwärtig nur nach Mannschaften suchen können, auf der Spieler View, und gewisse Mannschaften ausschliessen müssen, habe ich die einfachste lösung dazu hier bereits gebaut:
lien caché
Es ist hier sichtbar:
lien caché
Zbsp suchst Du nach FC barcelona, kommt dann der Karabatic:
lien caché
Suchst Du nach FC Nürnberg, kommt nichts (da ja noch keine spieler der Mannschaft existieren:
lien caché
Das ist eine View die Spieler Listet und diese nach Mannschaften filtern kann.
"No Items Found" kannst Du übrigens in der View ändern Im Loop-Editor.
Alles was zwischen "[wpv-no-items-found]" und "[/wpv-no-items-found]" steht, wird angezeigt wenn Du keine resultate hast. Alles zwischen "[wpv-items-found]" und "[/wpv-items-found]" wird angezeigt wenn es resultate hat. Alles was zwischen <wpv-loop> und </wpv-loop> steht, wiederhohlt sich für jeden post der gefunden wird, was ausserhalb aber innerhabl des wpv-found steht, wiederhohlt sich nicht. Das wird hilfreich sein in zukunft
Ich sehe jetzt noch keine "doppelten" mannschaften die wir ausschliessen müssen von dem Filter DropDown.
Kannst Du mir sagen welche der mannschaften Du doppelt angelegt hast?
Dann Kann ich Dir zeigen wie Du die ausschliessen kannst.
(Das wird ein bisschen Custom Code gebrauchen, ich werde Dir zeigen wie man das schreibt, und wo man das einfügt)
Also:
Monpellier ist die einzige Mannschaft die bis jetzt doppelt ist, da ich ja erst ein Spieler erstellt habe.
Die Idee dahinter war eigentlich, dass ich zum Beispiel 2018 - Landesmeister auswählen kann, es mir dann ALLE Landesmeister aus diesem Jahr anzeigt, egal ob aus der Schweiz, Deutschland, Österreich, Finnland etc.
Es sind bereits über 260 Mannschaften in der Datenbank, alle mit sämtlichen Erfolgen.
Ich habe hier die wahrcsheinlich einfachste lösung:
1. In der View in unserem beispiel (lien caché) musst Du Javascript einfügen.
jQuery("#wpv_control_select_wpv-relationship-filter option[value='22'],#wpv_control_select_wpv-relationship-filter option[value='25']").remove();
JS kann man in dem "Suche und Seitenumbruch" sektion einfügen, im JS teil.
Ich hab das bereits getan aber Du musst dann ja mehrere IDs da einfügen.
Du kannst wahrscheinlich bereits erahnen wo, im "value='22'", "value='25'" änderst Du die Nummer (also die post ID)
Wenn Du mehr als 2 posts ausschliessen musst, dann hängst Du einfachnochamls ein "#wpv_control_select_wpv-relationship-filter option[value='22']," nach dem letzen komma an, und änderst die Nummer.
Also beispiel, postID 1, 2, 3 gehen weg:
jQuery("#wpv_control_select_wpv-relationship-filter option[value='1'],#wpv_control_select_wpv-relationship-filter option[value='2'],#wpv_control_select_wpv-relationship-filter option[value='3']").remove();
Für Post ID 1,2,3 und 4:
jQuery("#wpv_control_select_wpv-relationship-filter option[value='1'],#wpv_control_select_wpv-relationship-filter option[value='2'],#wpv_control_select_wpv-relationship-filter option[value='3'],#wpv_control_select_wpv-relationship-filter option[value='4']").remove();
etc.
2. Die View wird dann alle die Post ID welche oben im code eingefügt wurden, von der such-input felder entfernen.
3. Im beispiel hier ist nun Post "Monpellier" mit ID 7925 nicht mehr im suchfeld.
lien caché
Wenn Du nun ein zweiter post ausschliessen willst, ersetze das "x" welches ich bereits in der View lien caché (JS editor) angefügt habe mit dem Post ID.
Wenn duein dritter post ausschliessen willst, dann folge #1 oben (oder frag mich um das beispiel zu machen)
Wenn Du SEHR viele posts ausschliessen willst, dann werden wir den code ändern, damit es einfacher wird posts auszuschliessen. Wenn du nur ein paar hast, dann ist dies genug für das ziel.
4. Um auch siege suchen zu können, habe ich nun auch Siege an die suche angefügt, da dies ja derselbe "beziehungsbaum" ist.
In dem falle MUSST Du aber immer beide filter einsenden (also sieg und mannschaft)
ODER; mann kann nur nach siege oder nur nach mannschaft suchen, nicht aber beide "unabhänging".
Um weitere Filter anzufügen so wie du beschreibst (also zum beispiel Siege UND mannschaften unabhänging von einander müsste man leider eine neue empfehlung an den Product Manager einsenden, hier: https://toolset.com/home/contact-us/suggest-a-new-feature-for-toolset/)
wow, super!
Nein, bei der Suche gibt es NUR entweder oder.
Also entweder suche ich nach einer Mannschaft, oder ich suche nach den Landesmeister 19xx.
Dann müsstest Du eine View je suche haben
Also, eine seite mit einer View wo Du nach Mannschaft suchst, eine andere, wo Du nach Sieg suchst.
Lass uns erst mal diese hier (Spieler/Manschaft) fertigstellen, damit wir dann (neue tickets) die andere problem schritt für schritt angreifen können.
Die wäre dann fertig.
Was alles angezeigt werden soll beim Ergebnis kann ich selber machen 🙂
Bitte lass mich wissen was noch nicht stimmt 🙂
Sooo 🙂
Ich hab mich heute dem Filter gewidmet.
lien caché
Optisch alles angepasst.
Jetzt die Frage:
Sehe ich das Richtig, dass ich für einen Filter, der mir die Siege anzeigt, eine neue Seite erstellen muss?
So kann dann der Besucher wählen, welche Seite er aufrufen will?
Oder gibt es eine Möglichkeit, dass ich eine 2. View auf einer Seite habe?
Ich habe ein paar Views erstellt:
lien caché
lien caché
lien caché
Letzterer wäre eigentlich optimal mit lien caché.
Aber leider funktioniert dieser nicht wie gewünscht.
Ja, das ist korrekt.
Du kannst natürlich eine zweite view auf derselben seite haben, das rate ich aber nicht an weil dann immer alle daten auf einmal abgerufen werden (dsa macht die seite langsam) und es kann auch konflikte mit seitenumbruch oder suche geben (falls identische argument verwendet werden)
Also würde ich eine seite erstellen Wo du nach all den seiten linkst wo solche such-views integriert sind.
1. lien caché
Dies scheint uns zu erlauben siege zu finden nach mannschaft, datum, etc.
Diese funktioniert nicht, also wenn Ich nach FC Barcelona suche, kommen da einträge wie 2018 – Pfadi Winterthur (SUI) – 2018 – Landespokal Männer (Männer).
Das ist weil [wpv-post-title item="@mannschaften-sieg.parent"] gezeigt wird, nicht der siegestitel.
Ich hab versucht den fehler zu finden, muss aber morgen nochmal näher schauen, irgendwas stimmt hier nicht, Ich sollte keien siege die nicht verbunden sind erhalten, bekomme aber immer ALLE resultate.
2. Die such nach land scheint zu funktionieren?
lien caché
lien caché
3. lien caché
Dies hat nur eine option im filter, wir können also noch nicht wissen ob es funktioniert.
Ich habe viele fehler heute auf der seite, so "ERR_SSL_VERSION_INTERFERENCE", "ERR_CONNECTION_REFUSED" und andere.
Zwischendurch gings wieder.
Weisst Du ob der server gut läuft? Es schein ein HTTPS problem zu geben?
Also:
1. Ist mir auch aufgefallen, dass die Resultate nicht stimmen.
2. Ja, diese Suche funktioniert perfekt. Damit kann ich bereits arbeiten. Muss einfach noch schauen, wie ich die ganzen "Suchseiten" aufbaue, damit es möglichst einfach für den Besucher ist.
3. Der Server läuft tadellos. Kann aber sein, dass ab und zu ein Update gemacht wird.
3. OK. Ich denke es gibt dennoch ein problem hier. Ich sah auf Deinem Facebook Post zum beispiel dass die seite nach HTTP zu linken versucht, dennoch ist es ja ein HTTPS protokoll. Das würde auch die mixed SSL cert warnung erklären die Ich gestern sah. Ich sah auch dass die seite hier im Google Chrome einige "pop up warnungen" ergibt (oben rechts im browser, siehe screenshot). Das scheint was mit pop up / ad blockers zu tun haben. Hast Du plugins oder software installiert die Ads (werbung) schaltet oder pop ups öffnet? Hast Du SSL mit dem server eingerichtet oder per plugin?
Ich kann ansonsten mal durch die seite gehen und ein paar dinge aufräumen, Ich sah auch dass Du ein anderes Form Plugin installiert hast. Dies kann oft die seite verlagsamen.
Ich würde eigentlich anraten das ganze auf einem test server aufzubauen und dann live zu gehen. Aber Ich kann auch direkt hier auf der live seite schauen und dann Dir Feedback geben über was man verbessern kann/sollte.
2. Perfekt. Ich würde wie gesagt eine neue "Seite" erstellen (page) und da, etliche HTML links einfügen die zu den einzelenen Such-Seiten leiten.
Also sowas wie in diesem beispiel:
lien caché
1. OK, Ich denke diese suche sollte ja Siege listen. Ich sollte da Siege "bekommen" die ich dann nach Mannschaft welcche den Sieg gemacht hat, filtern kann. Oder/und nach jahr. Ich verstehe das "Gechlecht" hier nicht ganz. Das währe ja des Spilers geschlecht?
Wie auch immer, Ich hab einfacheitshalber mal eine kopie erstellt der View und daran gearbeitet:
lien caché
Ich habe alle filter gelöscht und von vorn begonnen.
Ich habe "Ich möchte die individuellen Einstellungen manuell auswählen" verwendet im "Benutzerdefinierte Sucheinstellungen" weil dann die filter sich automatisch anpassen und Du immer NUR nach was auch findbar filtern kannst.
Den Loop habe ich so gelassen wie er ist. Ich musste ein paar texte einfügen dennoch.
Dann habe ich Die View hier eingefügt:
lien caché
Und da fiel mir was auf. Da stimmt was nicht auf dem server/website. Die konsole ist voll fehler, deshalb ist die Seite auch relativ langsam im laden, Ich hatte mich da schon gefragt was das ist.
Siehe auch screenshot.
Ich würde da mal hart vorgehen, alle plugins ausser Toolset deaktivieren, dann Theme TwentyNineteen aktivieren und nochmals schauen ob dann alles stimmt. Es scheint da ein paar konflikte zu geben.
Das kann von Plugins oder Themes herkommen. Mesitens nicht von Toolset da wir die plugins auf solche fehler testen.
Nun, wieder zur suche.
AJAX funktionert auf deiener seite wegen eines der JS Fehlers nicht:
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
Wie gesagt das sollte gelöst sein sobald andere plugins weg sind.
Nun habe ich halt wieder auf "Aktualisierung der kompletten Seite, wenn Besucher auf den Suchen-Button klicken" umschalten müssen.
Also nun funktioniert ja.
Alle resultate sind 814 siege.
Wenn man nach FC Nürnberg Handball (GER) sucht, dann kommen bloss 14 resultate zurück.
lien caché
Das ist ja OK, aber wenn Du schaust nach den resultaten, da steht plötzlich "BSG Fortschritt Weissenfels", "HC Leipzig (GER) (DDR)", anstatt das "FC Nürnberg Handball (GER)" wonach wir ja suchten.
Das hiesse, dass die siege AUCH mit FC Nürnberg Handball (GER) verbunden sind, und das scheint zu stimmen.
Also wir haben ja:
Jahr: 2004
Titel Mannschaft: 1. FC Nürnberg Handball (GER)
Titel Sieg: 2004 – Challenge Cup Frauen
Jahr: 1968
Titel Mannschaft: 1. FC Nürnberg Handball (GER)
Titel Sieg: 1968 – Feldhandball Meister Frauen
Jahr: 1965
Titel Mannschaft: 1. FC Nürnberg Handball (GER)
Titel Sieg: 1965 – Feldhandball Meister Frauen
Jahr: 1964
Titel Mannschaft: 1. FC Nürnberg Handball (GER)
Titel Sieg: 1964 – Feldhandball Meister Frauen
Das ist für FC Nürnberg Handball (GER)
Dieselbe siege sind ja auch (anderes jahr natürlich) von anderen mannschaften gewonnen.
Zum Beispiel:
Jahr: 1964
Titel Mannschaft: BSG Fortschritt Weissenfels (GER) (DDR)
Titel Sieg: 1964 – Landesmeister Frauen
Jahr: 1963
Titel Mannschaft: BSG Fortschritt Weissenfels (GER) (DDR)
Titel Sieg: 1963 – Feldhandball Meister Frauen
Jahr: 1961
Titel Mannschaft: BSG Fortschritt Weissenfels (GER) (DDR)
Titel Sieg: 1961 – Feldhandball Meister Frauen
Etc. Das schein soweit so gut zu sein!
Ich habe dann auch noch das Datum als filter angefügt. Also das Jahr des sieges:
lien caché
Und es gibt ZWEI resultate:
Jahr: 1964
Titel Mannschaft: 1. FC Nürnberg Handball (GER)
Titel Sieg: 1964 – Feldhandball Meister Frauen
Jahr: 1964
Titel Mannschaft: BSG Fortschritt Weissenfels (GER) (DDR)
Titel Sieg: 1964 – Landesmeister Frauen
Das ist total falsch. Wir wollen Siege von FC Nürnberg Handball (GER) UND 1964, nicht FC Nürnberg Handball (GER) ODER 1964.
Ich habe dann nach 1964 gesucht und gesehen es gibt insgesamt 5 siege in diesem jahr, wie kann es dann sein, dass wir 2 siege bekommen wenn wir nach FC Nürnberg Handball (GER) / 1964 suchen, aber dennoch eine andere mannschaft als zweites resultat angeführt?
Wenn Ich im backend "1. FC Nürnberg Handball (GER)" anschaue sehe ich dass es korrekt ist: es gibt 2 siege 1964:
1964 - Feldhandball Meister Frauen
1964 - Landesmeister Frauen
genau diese werden ja auch angezeigt.
Dann "BSG Fortschritt Weissenfels (GER) (DDR)":
1964 - Landesmeister Frauen
Das ist unmöglich, derselbe siege kann doch nicht von einer anderen mannschaft im selben jahr gemacht werden?
Deshlab gibts auch ein "puff" in den ergebnissen.
Ich glaube da steckt ein fehler drin, kannst Du dies mal überprüfen?
Ich denke danach sollte diese suche perfekt funktionieren.
Sorry dass der post lang ist, Ich gabe einfach auch meine gedankengänge augezeigt, damit Du nachvollziehen kannst was vor sich geht wenn ich solche probleme entkneble.
Also zum Problem mit der Anzeige:
Das mit 1964 stimmt, weil:
1964 die beiden Länder noch getrennt waren. Also hat Nürnberg den Titel in der BRD geholt und Weissenfels in der DDR.
Da aber die Länder dann als Ganzes Deutschland waren und beide Vereine noch existieren, werden diese so angezeigt.
Plugins werde ich einmal löschen was nicht gebraucht wird. Wäre nett wenn du das dann noch einmal kontrollieren könntest.
Die Suche ist so auch ok. Aber ich müsste natürlich noch nach dem Titel suchen können, also 2018 - Landesmeister Männer
Ja richtig. (WOW, das mit der DDR war was von verwirrend!)
Der Titel ist nun auch da
Ich möchte unbeding AJAX verwenden bei dieser suche weil es dann VIEL besser ist.
Sehe, im moment kannst Du nach FC Nürnberg Handball (GER) UND irgend ein datum suchen, und dies wird oft "Keine resultate" liefern.
Wenn wir AJAX reinbringen, dann werden automatisch alle daten rausgenommen vom filter sobald Du nur FC Nürnberg Handball (GER) wählst, welche irrelevant sind!
Das geht aber nicht wegen dem fehler den ich oben erwähne (Failed to load resource: the server responded with a status of 500 (Internal Server Error))
Das müssen wir in einem neuen ticket angehen. Ich habe die vermutung dass entweder der server AJAX komplett blockiert oder aber ein plugin/das theme dies provoziert.
Ich würde anraten all plugins zu deaktivieren, entweder 2019 Theme oder dieses hier zu verwenden:
lien caché
Dann eröffne bitte ein neues ticket um "AJAX Suche" zu implementieren.
Dies wird dir sehr gut gefallen, glaube ich.
Bitte stelle zuvor sicher, dass dein Server AJAX requests nicht blockiert.
Also das kannst Du rausfinden indem Du dein Server Admin (host) fragst ob AJAX Requests erlaubt sind auf dem server. Üblicherweise ist das kein problem, und alles schon möglich, ausser Du hast sehr restriktive und ultra-sichere settings auf dem server.
Ich glaube dennoch... es ist bereits gelöst!
Ich habe nun gelich AJAX aktiviert, schaue dir mal an wie die suche nun automatisch die daten enfernt wenn Du FC Nürnberg Handball (GER) wählst 😉
Es gibt immer noch fehler im JS, aber Ich lass Dir erst mal zeit die Plugins / themes zu probieren.
Also ich habe soeben dem Provider geschrieben
Wenn ich nun im im Filter zum Beispiel Alpla Hard - 2018 einstelle, erscheint bei mir Barcelona und Pfadi Winterthur.
Ist das ein Theme von Minimax? Hab da nur ein Forum.
Hast du mir ein direkter Link zu einem Theme das ich verwenden kann das zu Toolset passt?