Contao-Camp 2024
Ergebnis 1 bis 10 von 10

Thema: String "0" wird im Label als "-" ausgegeben

  1. #1
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.792

    Standard String "0" wird im Label als "-" ausgegeben

    Brauche ich ein label_callback um zu erreichen, das ein String "0" in der Auflistung auch als "0" ausgegeben wird und nicht als "-"?

    Hier die Auflistung im Backend:



    Beim dritten Datensatz steht ein "-" (gelb markiert). Angezeigt werden müßte eine "0". Die Eingabe im Backend-Formular funktioniert einwandfrei und die "0" wird beim Bearbeiten auch wiedererkannt.
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  2. #2
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.446
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich vermute Mal, dass es sich bei dem Feld um ein DropDown handelt.

    Ich hab nun dazu nicht weiter den Code geprüft, meine aber mich zu erinnern bei einem ähnlichen Problem festgestellt zu haben, dass "0" und "" (leer) gleich behandelt werden. Hab den Option-Values dann jeweils noch nen festen Suffic gegeben, den ich dann weggenommen hab, beim Auswerten. Das Label wird ja dann korrekt im BE angezeigt.

  3. #3
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.687
    User beschenken
    Wunschliste

    Standard

    könnte damit zusammenhängen https://github.com/contao/contao/issues/1022 - wenn, dann sollte das gefixt sein

  4. #4
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.792

    Standard

    Zitat Zitat von cliffparnitzky Beitrag anzeigen
    Ich vermute Mal, dass es sich bei dem Feld um ein DropDown handelt.
    Knapp daneben ;-) ein Textfeld.
    Ich vermute mal, das ich mit einem label_callback das Problem auch nicht gebacken bekomme. Zum Beispiel steht im Array $args bei einer Checkbox auch nicht "1" und "" in der Variable, sondern "ja" und "nein" - wie ich gerade heute festgestellt habe: Ich wollte einfach z.B. $args[0] auf true/false checken, bekam aber immer true, weil dort "ja" und "nein" drinsteht.
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  5. #5
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.446
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hmm. Im label_callback sind schon die Übersetzungen drin, statt der technischen Werte. Aber du kannst das ja auc der Ebene vergleichen.

    Also statt (Beispiel):

    PHP-Code:
    if ($value == 'yes') ... 
    machst du dann

    PHP-Code:
    if ($value == $GLOBALS['TL_LANG']['tl....']['yes']) ... 

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.901
    Partner-ID
    10107

    Standard

    Der erste Parameter des label_callback sind die Original Daten.
    » sponsor me via GitHub or PayPal or Revolut

  7. #7
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.792

    Standard

    Danke Spooky! Aber das war zu vermuten. Heißt bei mir $row.

    Was ich jetzt festgestellt habe: Sowohl in $row (1. Parameter) als auch in $args (4. Parameter) wird dem label_callback eine "0" übergeben. Die "0" wird erst DANACH von Contao durch "-" ersetzt! Um jetzt wirklich "0" anzuzeigen, werde ich mal versuchen die 0 in Hexadezimalschreibweise o.ä. umzuwandeln.

    Nachtrag: Mit Hexadezimalschreibweise hat es geklappt. Merke: Willst Du eine 0 anzeigen, mußt Du die 0 im label_callback umwandeln in eine 0, die Contao nicht mehr als 0 erkennt.
    Geändert von Samson1964 (14.04.2021 um 09:05 Uhr)
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.901
    Partner-ID
    10107

    Standard

    Ändere mal diese Zeile auf
    PHP-Code:
                            $return .= '<td colspan="' $colspan '" class="tl_file_list col_' $GLOBALS['TL_DCA'][$this->strTable]['list']['label']['fields'][$j] . (($GLOBALS['TL_DCA'][$this->strTable]['list']['label']['fields'][$j] == $firstOrderBy) ? ' ordered_by' '') . '">' . ('' !== (string) $arg $arg '-') . '</td>'
    » sponsor me via GitHub or PayPal or Revolut

  9. #9
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.792

    Standard

    Der Patch funktioniert, Spooky!
    Es ist zwar oft erwünscht eine 0 zu Null zu machen und "-" anzuzeigen. Aber eben manchmal auch nicht.
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  10. #10
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.901
    Partner-ID
    10107
    » sponsor me via GitHub or PayPal or Revolut

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •