listview type=customer mit condition?

Fragen zum Erstellen von Templates für webEdition.
r_kempf
Senior Member
Beiträge: 214
Registriert: Do 14. Apr 2016, 13:27

listview type=customer mit condition?

Beitragvon r_kempf » Di 22. Mär 2022, 11:22

Moin,
wir geben über eine listview type="customer" eine Liste von Mitarbeitern aus und möchten auch eine Filterfunktion anbieten.
Wir haben es mal - wie wir es sonst bei Objekten machen - wie folgt umgesetzt:

Code: Alles auswählen

<we:ifVar match="Bauleiter" name="selectfeld" type="request">
<we:condition name="filter">
<we:conditionAdd field="Profil_Position" value="Bauleiter" compare="="/>
</we:condition>
</we:ifVar>

<we:listview type="customer" order="Surname" condition="\$filter">
<we:repeat>
<we:field name="Forename"/> <we:field name="Surname"/>
</repeat>
</listview>
Der Filter auf der Seite funktioniert einwandfrei. Aber im Error Log erscheint eine Warnmeldung:

Code: Alles auswählen

Error message: Undefined array key "filter"

Backtrace:
#0 we_base_errorHandler::errorHandler called at [webEdition/generated/templates/templates/team/overview.php:172]
#1 include(/web/webEdition/generated/templates/templates/team/overview.php) called at [webEdition/we/include/we_showDocument.inc.php:103]
#2 require(/web/webEdition/we/include/we_showDocument.inc.php) called at [team/overview.php:4]

Source code around:
172:  we_weTag_util::tag('listview',['type'=>'customer','order'=>'Surname','condition'=>$GLOBALS['filter']]);
Ich bin mir grad nicht sicher, ob condition für die Kundenverwaltung auch geht, weil in der Tag-Referenz nur Objekte erwähnt werden.
Hat jemand einen Tipp?

Benutzeravatar
Finn
Senior Member
Beiträge: 285
Registriert: Mo 3. Apr 2017, 13:37
Wohnort: Bremen
Kontaktdaten:

Re: listview type=customer mit condition?

Beitragvon Finn » Di 22. Mär 2022, 12:10

Scheint als würde die Condition nur geschrieben wenn die select Variable da ist, die LV sucht aber immer nach der condition.

Die condition muss dann schon immer vorhanden sein oder der LV mit in ifVar
Finn Thorwarth
WG Werbeagentur
https://www.wg-werbeagentur.de

r_kempf
Senior Member
Beiträge: 214
Registriert: Do 14. Apr 2016, 13:27

Re: listview type=customer mit condition?

Beitragvon r_kempf » Di 22. Mär 2022, 13:52

Die Variable ist da. Der Filter wird auch angewandt.
Ich hab noch ein setVar hinzugefügt und das ifVar in type="global" geändert.

Code: Alles auswählen

<we:setVar from="request" to="global" namefrom="selectfeld" nameto="selectvalue"/>
<we:ifVar match="Bauleiter" name="selectvalue" type="global">
<we:condition name="filter">
<we:conditionAdd field="Profil_Position" value="Bauleiter" compare="="/>
</we:condition>
</we:ifVar>

<we:listview type="customer" order="Surname" condition="\$filter">
<we:repeat>
<we:field name="Forename"/> <we:field name="Surname"/>
</repeat>
</listview>		
Fehlermeldung kommt trotzdem !???

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: listview type=customer mit condition?

Beitragvon mokraemer » Di 22. Mär 2022, 16:04

das ist nur ne Warning - da haben wir wohl verpaßt sie korrekt anzulegen; mach doch bitte einfach einen Bug auf, dann können wir das schnell beheben. Ist nicht dramatisches - freut mich aber, das jemand nach Warnungen schaut.
webEdition-Kern-Entwickler

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: listview type=customer mit condition?

Beitragvon mokraemer » Di 22. Mär 2022, 16:06

probier aber vorher mal das ganze als

Code: Alles auswählen

<we:condition name="filter">
<we:ifVar match="Bauleiter" name="selectvalue" type="global">
<we:conditionAdd field="Profil_Position" value="Bauleiter" compare="="/>
</we:ifVar>
</we:condition>
Denn dann wird die Variable der Condition gesetzt, und eben nur im Fall des Bauleiters befüllt.
webEdition-Kern-Entwickler

r_kempf
Senior Member
Beiträge: 214
Registriert: Do 14. Apr 2016, 13:27

Re: listview type=customer mit condition?

Beitragvon r_kempf » Di 22. Mär 2022, 18:02

Ich hab den Fehler gefunden. Es lag an der ersten <option> im selectfeld "Alle Mitarbeiter" für die keine condition gesetzt war, weil hier ja alle Einträge erscheinen sollen.
Ich habe die condition dafür jetzt einfach ohne conditionAdd gesetzt.

Code: Alles auswählen

<we:ifVar match="Alle Mitarbeiter" name="selectvalue" type="global">
<we:condition name="filter">
</we:condition>
</we:ifVar>

NilSole
Senior Member
Beiträge: 303
Registriert: Mi 27. Mär 2019, 15:28

Re: listview type=customer mit condition?

Beitragvon NilSole » Di 22. Mär 2022, 23:27

Wenn du es so machst wie Marc vorschlägt, sparst du aber noch 4 Codezeilen :wink:

r_kempf
Senior Member
Beiträge: 214
Registriert: Do 14. Apr 2016, 13:27

Re: listview type=customer mit condition?

Beitragvon r_kempf » Mi 23. Mär 2022, 12:33

:) Ja, warum kompliziert, wenns auch einfach geht. Besser erst die condition und dann die Bedingung. Dann ist auch Ruhe im Error-Log. :D

mediavantis
Senior Member
Beiträge: 238
Registriert: Do 16. Feb 2012, 12:51

Re: listview type=customer mit condition?

Beitragvon mediavantis » Mi 23. Mär 2022, 15:06

Hallo zusammen,

ja, mir ist das auch schon xfach aufgefallen, dass z. B. bei setVar immer wieder dieses Warning kommt bei php 8.x
eigentlich müsste ja eine Variable in dem Moment als definiert gelten, oder irre ich mich?

Gleiches oftmals bei z. B. <we:field type="text" name="beispiel" nameto="beispiel" to="global" />


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste