Bitte geben Sie einen Grund für die Verwarnung an
Der Grund erscheint unter dem Beitrag.Bei einer weiteren Verwarnung wird das Mitglied automatisch gesperrt.
Template Schleifen mit Filter und break
Ich habe miczh schon mehrfach mit den Template Schleifen beschäftigt.
Die Infos in "Dokumentation der Xobor Plugin API" und "Funktionsunterstützung" sind sehr dürftig.
Es geht vor Allem darum, Filter zu verwenden um einen bestimmten Eintrag zu finden und die Schleife zu beenden wenn der Eintrag gefunden wurde.
In den Dokus steht folgendes:
Zitat
Dokumentation der Xobor Plugin API
Template-Methoden:
{{schleife|filter(neueschleife, filterfeldname==filterwert[, max])}}
Erzeugt eine neue Schleife {{neueschleife:startlist}} .. in der Alle Elemente aus {{schleife.startlist}} enthalten sind, welche für das element {{schleife:filterfeldname}} den Wert "filterwert" haben. Der Wert max ist optional - es werden maximal max Aktionen in der neuen Schleife gespeichert.
{{schleife|filter(neueschleife, filterfeldname!=filterwert[, max])}}
Wie oben nur mit allen elementen NOT IN Filterwert
Legende:
! Funktioniert nicht mit Schleifen (z.B. {{varname^=true.start}} aber nicht {{schleife:varname^=true.start}})
--------------
Funktionsunterstützung
{{schleife:var>10.start}} {{schleife:var>10.end}} - auch mit <, <=, >=, %=
{{_count_arrayname}} - Ist direkt nach Startlist verfügbar und gibt Anzahl der Elemente aus
{{_current_list_i}} - aktuelles Element in der Schleife. Das erste Element hat den Wert 1!
Da hab ich bis heute noch nicht heraus gefunden wie das funktioner soll.
Ein lauffähiges Beispiel wäre da schon sehr hilfreich.
Zum Beispiel aus der Liste {{useronlin}} den eigenen Eintrag mit der {{user_id}} zu finden, die Variablen, hier die Anzahl Beiträge, zu entnehmen und die Schleife zu bendend.
Hinbekommen habe ich lediglich, dass die Schleife immer komplett durchlaufen wird.
2
3
4
5
6
{{useronline.startlist}}
{{user_a.start}}{{useronline:user_id}}{{user_a.end}}
{{user_a=={user_id}.start}}
{{user_tmp_posts.start}}{{useronline:user_posts}}{{user_tmp_posts.end}}
{{user_a=={user_id}.end}}
{{useronline.end}}
Ich weiß auch nicht, wie man einen Filter mit der eigenen user_id in die Schleife einbauen kann um nur den einen Eintrag zu extrahieren und dann die Schleife benden.
www.friends-of-xobor.de (621181 - Template kann wechsel bei Plungin Tests)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)
#2 RE: Template Schleifen mit Filter und break
Zitat von Mike48 im Beitrag #1
Zum Beispiel aus der Liste {{useronlin}} den eigenen Eintrag mit der {{user_id}} zu finden, die Variablen, hier die Anzahl Beiträge, zu entnehmen und die Schleife zu bendend.
Hinbekommen habe ich lediglich, dass die Schleife immer komplett durchlaufen wird.
Ein "break" in diesem Sinne gibt es nicht. Die Schlaufe wird immer durchlaufen. Aber das sollte für dich keinen Unterschied machen.
Du könntest dir auch selbst eine Variable setzen, die die Schleife nach einem Treffer beendet:
2
3
4
5
6
7
8
9
10
11
12
13
{{gefunden.start}}0{{gefunden.end}}
{{useronline.startlist}}
{{user_a.start}}{{useronline:user_id}}{{user_a.end}}
{{gefunden==0.start}}
{{user_a=={user_id}.start}}
{{user_tmp_posts.start}}{{useronline:user_posts}}{{user_tmp_posts.end}}
{{gefunden.start}}1{{gefunden.end}}
{{user_a=={user_id}.end}}
{{gefunden==1.end}}
{{useronline.end}}
Zitat von Mike48 im Beitrag #1
Ich weiß auch nicht, wie man einen Filter mit der eigenen user_id in die Schleife einbauen kann um nur den einen Eintrag zu extrahieren und dann die Schleife benden.
Das hier müsste die daten des Users 12345 in einen Array namens {{meinedaten}} filtern, den du dann wieder mit .startlist durchlaufen kannst.
{{useronline|filter(meinedaten,user_id==12345)}}
Ob das auch mit einer Variablen als filterwert klappt müsstest du testen. In der Dokumentation steht davon nichts, daher tippe ich das klappt eher nicht.
#3 RE: Template Schleifen mit Filter und break
die Filterfunktion habe ich auch noch nicht begriffen.
mein Beispiel {{useronline}} sortieren
2
3
4
5
6
7
8
9
10
11
12
13
14
{{useronline|filter(sichtbar,invisible==0)}}
{{useronline|filter(unsichtbar,invisible==1)}}
<ul>
{{sichtbar.startlist}}
<li> sichtbar: id {{sichtbar:user_id}} posts: {{sichtbar:posts}}</li>
{{sichtbar.end}}
{{unsichtbar.startlist}}
<li> unsichtbar: id {{unsichtbar:user_id}} posts: {{unsichtbar:posts}}</li>
{{unsichtbar.end}}
</ul>
ich erhalte keine Ausgabe
https://test-2022.xobor.de/ V4
https://test-v6.xobor.de/ V6 dark-mode
Die Signatur befindet sich aus technischen Gründen auf der Rückseite dieses Beitrages ...
vG Bernd
Sieht erstmal nicht falsch aus.
Muss ich mit dem konkreten Code mal testen.
In der "oberen Leiste" wird das Menü gefiltert. Da kann man sich ein Beispiel anschauen
#5 RE: Template Schleifen mit Filter und break
Danke für das Beispiel
2
3
4
5
{{menu|filter(menulist, key!==link_mail|link_logout|link_online|link_lastentry|link_member|link_search|link_userlist|link_faq,100)}}
{{menulist.startlist}}
mit max_wert klappt es jetzt auch
2
3
{{useronline|filter(sichtbar,invisible==0,100)}}
{{useronline|filter(unsichtbar,invisible==1,100)}}
https://test-2022.xobor.de/ V4
https://test-v6.xobor.de/ V6 dark-mode
Die Signatur befindet sich aus technischen Gründen auf der Rückseite dieses Beitrages ...
vG Bernd
#6 RE: Template Schleifen mit Filter und break
In der Beschreibung ist max als optional angegeben.
Das scheint aber nicht der Fall zu sein. Ohne einen Wert für max bekomme ich nichts.
Auch für negiert != ist falsch in der Beschreibung. Das muss !== heißen.
www.friends-of-xobor.de (621181 - Template kann wechsel bei Plungin Tests)
www.seniorenclub-sel-koeln.de (578865 - V6 Template)
#7 RE: Template Schleifen mit Filter und break
hatte doch noch ein paar Fehler in meinem Beispiel gefunden, u.a. kann mein Filterwert nur "1" oder "" sein
2
3
4
5
6
7
8
9
10
11
12
13
14
{{useronline|filter(sichtbar,invisible!==1,1000)}}
{{useronline|filter(unsichtbar,invisible==1,1000)}}
<ul>
{{sichtbar.startlist}}
<li> sichtbar: id {{sichtbar:user_id}} posts: {{sichtbar:user_posts}}</li>
{{sichtbar.end}}
{{unsichtbar.startlist}}
<li> unsichtbar: id {{unsichtbar:user_id}} posts: {{unsichtbar:user_posts}}</li>
{{unsichtbar.end}}
</ul>
https://test-2022.xobor.de/ V4
https://test-v6.xobor.de/ V6 dark-mode
Die Signatur befindet sich aus technischen Gründen auf der Rückseite dieses Beitrages ...
vG Bernd
- Informationen
- Aktuelle News
- Forum Tutorials - Tipps und Anleitungen
- SEO / Werbung fürs Forum
- Verwaltung
- Extras
- Design
- Plugin(system)
- Eure Fragen zu Tutorials
- Forum Support
- Fragen und Antworten
- Pluginsystem
- Plugins
- Templates & Sprachen
- Bugreport
- Verbesserungsvorschläge
- Sponsoren gesucht
- Das neue Xobor Business-Template
- News und Updates
- Bugreport
- Allgemeines Feedback
- Verbesserungsvorschläge
- Sonstiges
- Kaffeeklatsch
- Lob & Kritik
- Verbesserungsvorschläge
- Allgemeine Fragen
- Fehlermeldungen
- Verbesserungsvorschläge Responsive Design
- Bugreport Responsive Design
- Archiv - Alter Betatest
- Responsive Design - Verbesserungsvorschläge
- Responsive Design - Bugreport
- Fragen zum neuen Template
- Neue Administration Beta Test
- Bugreport Neue Administration
- Allgemeines Fragen & Feedback
- Verbesserungsvorschläge zur neuen Administration
- Shoutbox
Ähnliche Themen
Jetzt anmelden!
Jetzt registrieren!
© 2017 Xobor | Forum-Software
Technik ·