Ergebnis 1 bis 7 von 7

Thema: load_callback -> berechneter Wert wird nicht gespeichert

  1. #1
    Contao-Nutzer Avatar von xs-hoppelhase
    Registriert seit
    12.07.2009.
    Ort
    Gera - Thüringen
    Beiträge
    125

    Standard load_callback -> berechneter Wert wird nicht gespeichert

    Hallo,

    wahrscheinlich hatte ich die letzten Tage zu wenig schlaf, aber warum speichert er nicht mein genrierten Zufallstring ab? Wenn ein neuer Datensatz angelegt wird, soll er nen Zufallsstring generieren und gleich gucken, ob es den schon in der DB gibt ...

    PHP-Code:
    'reference_number' => array
    (
        
    'label' => &$GLOBALS['TL_LANG']['tl_immo_expose']['reference_number'],
        
    'exclude'=> true,
        
    'search'=> true,
        
    'inputType' => 'text',
        
    'eval'=> array('mandatory'=>true,'maxlength'=>32,'readonly'=>true),
        
    'save_callback'=> array(array('tl_immo_expose','reference_save_callback')),
        
    'load_callback'=> array(array('tl_immo_expose','reference_load_callback')),
    ), 
    hier die Funktionen:

    PHP-Code:
    public function reference_load_callback($varValueDataContainer $dc) {

    if(!
    $varValue) {
        
    $quantity 1;
        while (
    $quantity!=0) {
            
    $varValue $this->genRandomString();
            
    $immoQuery $this->Database->prepare("SELECT COUNT(reference_number) as quantity FROM tl_immo_expose WHERE         reference_number=?")
                  ->
    limit(1)
                  ->
    execute($varValue);
            
    $immoQuery->fetchAssoc();
            
    $quantity $immoQuery->quantity;
            }
        }
        return 
    $varValue;
    }

    public function 
    reference_save_callback($varValueDataContainer $dc) {
        return 
    $varValue;

    Hat jemand eine Idee?
    Geändert von xs-hoppelhase (30.04.2010 um 22:10 Uhr)

  2. #2
    AG CMS-Garden
    Contao-Urgestein
    Avatar von lindesbs
    Registriert seit
    05.06.2009.
    Ort
    Oer-Erkenschwick
    Beiträge
    4.154
    Partner-ID
    keine
    User beschenken
    Wunschliste

    Standard

    Jepp, hab ich : https://contao.org/referenz.html#table

    die load/save callbacks gehoeren nicht in die Items, sondern in die Config des DCA.
    Werf mal einen Blick in die system/modules/backend/dca/tl_article.php
    Dort siehst du es.
    von Willi Voltz aus PR 500: Henry George sagte einmal: »Kultur ist Zusammenarbeit.«


    Contao-Hosting: begeisterter Uberspace-Nutzer

  3. #3
    Contao-Nutzer Avatar von xs-hoppelhase
    Registriert seit
    12.07.2009.
    Ort
    Gera - Thüringen
    Beiträge
    125

    Standard

    Hmm ...

    ich steh aufm Schlauch. Ich mache doch nix anderes als die Funktion generateAlias() der tl_article.php. Dort wird doch auch save_callback in den fields benutzt ...

    PHP-Code:

    // Fields
    'fields' => array
    (
          
    'reference_number' => array
         (
            
    'label' => &$GLOBALS['TL_LANG']['tl_immo_expose']['reference_number'],
            
    'exclude'=> true,
            
    'search'=> true,
            
    'inputType' => 'text',
            
    'eval'=> array('mandatory'=>true,'maxlength'=>32,'readonly'=>true),
            
    'save_callback'=> array(array('tl_immo_expose','reference_save_callback')),
            
    'load_callback'=> array(array('tl_immo_expose','reference_load_callback')),
        )


  4. #4
    Contao-Urgestein Avatar von Toflar
    Registriert seit
    15.06.2009.
    Beiträge
    4.467
    Partner-ID
    8667
    User beschenken
    Wunschliste

    Standard

    Du prüfst aber ob $varValue false ist

    Nach mal
    PHP-Code:
    if(!trim($varValue)) 
    Contao Core-Entwickler @terminal42 gmbh
    Wir sind Contao Premium-Partner!
    Für Individuallösungen kannst du uns gerne kontaktieren.
    PS: Heute schon getrakked?

  5. #5
    Contao-Nutzer Avatar von xs-hoppelhase
    Registriert seit
    12.07.2009.
    Ort
    Gera - Thüringen
    Beiträge
    125

    Standard

    @ yanick

    danke für den Hinweis - aber daran liegts nicht ;-) PHP verzeiht ja glücklicher Weise diese Unsauberkeiten ... wenn dann besser so:

    PHP-Code:
    if(!strlen($varValue)) ... 
    oder so wie du es gemacht hast.

    Aber nochmal zum Problem: Der Zufallsstring wird erzeugt und übergeben. Nur wird er beim speichern nicht in die DB geschrieben ...

  6. #6
    Contao-Nutzer Avatar von xs-hoppelhase
    Registriert seit
    12.07.2009.
    Ort
    Gera - Thüringen
    Beiträge
    125

    Standard

    Scheint wohl am readonly zu liegen ... hab es rausgenommen und es funktioniert.

    PHP-Code:
        'eval'=> array('mandatory'=>true,'maxlength'=>32,'readonly'=>true), 
    Aber eigentlich blöd ... ich will ja nicht, dass mein generierter String vom USer geändert werden soll ... hat jemand eine Idee?

  7. #7
    Contao Core-Team
    Association Vorstand
    Avatar von andreas.schempp
    Registriert seit
    15.06.2009.
    Ort
    Lyss
    Beiträge
    5.619
    Partner-ID
    8667
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Readonly und disabled-Felder werden in TL nicht gespeichert. Der User könnte die Eingabe trotzdem z.B. mit Firebug manipulieren, du speicherst besser direkt in die Datenbank.
    terminal42 gmbh
    Wir sind Contao Premium-Partner! Für Modulwünsche oder Programmierungen kannst du uns gerne kontaktieren.
    Hilfe für Isotope eCommerce kann man auch kaufen: Isotope Circle

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. eigener Layoutbereich wird nicht übernommen / gespeichert
    Von Lengen1971 im Forum Layout / Templates / Holy Grail
    Antworten: 1
    Letzter Beitrag: 16.12.2010, 09:32
  2. Textarea wird nicht gespeichert?
    Von freddydiekante im Forum Entwickler-Fragen
    Antworten: 1
    Letzter Beitrag: 25.05.2010, 14:57
  3. checkbox wird nicht gespeichert
    Von thepixture im Forum Sonstiges zu Contao
    Antworten: 2
    Letzter Beitrag: 09.01.2010, 14:19
  4. Webseitentitel wird nicht gespeichert
    Von johannes.enjoy im Forum Sonstiges zu Contao
    Antworten: 1
    Letzter Beitrag: 14.09.2009, 20:25

Lesezeichen

Lesezeichen

Berechtigungen

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