Gut!
Ich habe nun den code in der seite ergänzt, welcher die stimmen zusammenzählt.
Wenn Du nun die Form auf enlace oculto einsendest, und abstimmst, wird auch ein tag dem post angefügt (der user der abstimmte)
Das erlaubt uns die form zu verstecken wenn bereits abgestimmt wurde und auch anzuzeigen wer bereits stimmte.
Bitte finde den code hier:
enlace oculto > Benutzerdefinierter Code > plus-eins-stimmen-hall-of-fame
Wir setzen den Tag in der taxonomie anhand der ID des users (get_current_user_id()) mit disem WordPress API hook:
https://codex.wordpress.org/Function_Reference/wp_set_post_terms
https://developer.wordpress.org/reference/functions/get_current_user_id/
Wenn Du abstimmst, wird dein Name als tag der taxonomie "Stimmberechtigter" dem spielerr post angefügt.
Das heisst, falls Du jeh jemanden wieder abstimmen lassen willst, musst Du nur den Tag entfernen (user name), und der user (Gremium Mitglied) könnte dann wieder abstimmen!
Zum beispiel, Ich habe als Marcel Burkhard für Brütsch Manueal abgestimmt, nun hat der Spieler den tag "marcel burkhard" bekommen und Du siehst diesn Spieler abstimm formular nicht mehr auf intern.
Ich habe ein filter in der view eingebaut der macht dass alle Posts wo jemand gestimmt hat (und demzufolge den term des user names hat) nicht mehr in der intern page angezeigt wird, stattdessen, eine meldung "Du hast bereits abgestimmt".
Kannst Du bitte ein paar tests machen?
Mehrere spieler abstimmen, sicherstellen dass Du sie nicht mehr abstimmen kannst aber dass andere können, und wenn diese andere gremium mitglieder abstimmen, danach diese formen auch vesrteckt sind.
Wenn Du test user brauchen musst, kannst Du das ohne problem tun:
- einfach ein neuer user erstellen und dessen ID notieren
- dann ein neuer tag in "Stimmberechtigte" erstellen mit der ID als slug (formfeld)
- dann als dieser neuer user einloggen und abstimmen.
Dann, können wir mit dem mechanismum fortfahren den der spieler ins Hall Of Fame setzt falls er 4 punkte hat:
https://toolset.com/forums/topic/anhand-von-feldwert-mit-forms-api-ein-anderes-feld-manipulieren/
Getestet und als gut befunden.
Einziger Fehler:
Wenn ich bei einem Spieler abstimme, wird mir das dann angezeigt, ist perfekt, aber beim Spieler daneben erscheint dann:
Post Gespeichert
Das ist Die Form die Dir mitteilt dass der vorgang erfolgreich war.
Du kannst Diese meldung ändern in der Form und auch stylen.
enlace oculto > Nachrichten > Meldung, dass Beitrag gespeichert wurde (für text) und wpt-form-error HTML Klass um es mit CSS zu adressieren. CSS kann auch in der Form im CSS Editor angefügt werden
https://toolset.com/documentation/user-guides/styling-cred-forms/
https://toolset.com/documentation/user-guides/styling-cred-forms/#success-messages
https://toolset.com/documentation/user-guides/styling-cred-forms/#form-messages
Das spezielle grüne kästchen hier ist mit [cred_field field='form_messages' class='alert alert-warning'] in der form gemacht.
Die HTML klasse alert alert-warning ist gebraucht, das ist Bootstrap und kann auch geändert werden oder ganz versteckt werden (oder entfernt, aber das ist nicht empfohken, besser ist in ein div class hide zu setzen damit es nicht sichtbar währe).
Bust Du sicher dass die funktionalität der form gut ist?
==> Speziell wenn mehr als bloss ein user abstimmen, funktionert alles?
Ja, ist schon klar. Aber es wird mir nicht beim Spieler angezeigt für den ich gestimmt habe, sondern beim nächsten Spieler.
Ja, funktioniert perfekt!
Hmmm, hab gerade getestet, das geht so nicht, wenn nähmlich mehr als ein gremium mitglied abstimmt sieht man die form dennoch.
Lass mich das anpassen. Melde mich wieder.
Bezüglich der meldung, Ich sehe die meldung im post der ich abstimmte, siehe screenshot
Bei mir ist auch das Kästchen sehr gross.
Ah, Ich sehe was Du meinst mit dem erfolgskästchen.
Ich hab's einfach rausgenommen. Sollte nun funktionieren.
Hier gehts weiter:
https://toolset.com/forums/topic/anhand-von-feldwert-mit-forms-api-ein-anderes-feld-manipulieren/page/2/
Du hast schon so viel gemacht für mich.
Aber eine kleine Frage hab ich doch noch zu diesem Thema:
Kann man ein Spieler, der angenommen wurde, farblich hervorheben?
Der im hall of fame ist?
Dazu kannst Du in der View loop klassen anfügen.
Mit bedingungen im HTML die schauen ob der spieler im hall of fame ist.
1. Hier machst Du alles was mit dem post zu tun hat:
enlace oculto
Zum Beispiel:
[wpv-conditional if="( $(hall-of-fame-mitglied) eq '1' )"]
FÜGE HIER ETLICHES HTML UND CSS KLASSEN AN DIE DU SEHEN WILLST WENN DER SPIELER IM HALL OF FAME IST
<div style="font-size: 16pt;"><u>[wpv-post-link]</u></div>
[wpv-conditional if="( NOT(CONTAINS(#(stimmberechtigter),'[wpv-user field='ID']')) )"][cred_form form='hof-ja-oder-nein'][/wpv-conditional]
[wpv-conditional if="( CONTAINS(#(stimmberechtigter),'[wpv-user field='ID']') )"][wpv-post-taxonomy type="stimmberechtigter" format="name"] hat schon gestimmt[/wpv-conditional]
<b>Total Stimmen: [types field='total-stimmen'][/types]</b>
<hr>
[/wpv-conditional]
FÜGE HIER ETLICHES HTML UND CSS KLASSEN AN DIE DU SEHEN WILLST WENN DER SPIELER NICHT IM HALL OF FAME IST
[wpv-conditional if="( $(hall-of-fame-mitglied) ne '1' )"]<div style="font-size: 16pt;"><u>[wpv-post-link]</u></div>
[wpv-conditional if="( NOT(CONTAINS(#(stimmberechtigter),'[wpv-user field='ID']')) )"][cred_form form='hof-ja-oder-nein'][/wpv-conditional]
[wpv-conditional if="( CONTAINS(#(stimmberechtigter),'[wpv-user field='ID']') )"][wpv-post-taxonomy type="stimmberechtigter" format="name"] hat schon gestimmt[/wpv-conditional]
<b>Total Stimmen: [types field='total-stimmen'][/types]</b>
<hr>
[/wpv-conditional]
Hab ich schon.
Dachte im internen Bereich. Aber hat sich auch erledigt.
Da der Spieler mit 4 Stimmen nicht automatisch zur Hall of Fame geht.
Ich verliere sonst den Überblick.
Der spieler geht bei 4 stimmen ins Hall of fame, so wie's wir im anderen ticket gemacht haben.
Die einzelnen spieler können so wie oben gezeigt gestylt werden
Wir könen im Toolset support kein styl oder HTML erstellen, nur beispiele geben, so wie oben wo Ich zeige wie man die bedingung anwenden kann.
Ich lasse das wie es ist, sonst funktioniert plötzlich gar nix mehr 🙁
Herzlichen Dank
Kannst du mir sagen, warum das nicht funktioniert:
<table style="width: 100%; border-collapse: collapse; border-style: solid; border-color: #f70202;">
<tbody>
<tr>
<td style="width: 100%;">
<div style="font-size: 16pt;"><u>[wpv-post-link]</u></div>
[wpv-conditional if="( NOT(CONTAINS(#(stimmberechtigter),'[wpv-user field='ID']')) )"][cred_form form='hof-ja-oder-nein'][/wpv-conditional]
[wpv-conditional if="( CONTAINS(#(stimmberechtigter),'[wpv-user field='ID']') )"][wpv-post-taxonomy type="stimmberechtigter" format="name"] hat schon gestimmt[/wpv-conditional]
<b>Total Stimmen: [types field='total-stimmen'][/types]</b>
<hr>
</td>
</tr>
</tbody>
</table>
Ich wollte um das ganze einen Rahmen machen (rot) und wenn 4 von 4 Stimmen sind soll der Rahmen grün sein.
Aber die Rahmenformatierung funktioniert nicht.