Ergebnis 1 bis 5 von 5

Thema: Bildpfad wird nicht in DB geschrieben

  1. #1
    Contao-Nutzer
    Registriert seit
    10.04.2013.
    Beiträge
    18

    Standard Bildpfad wird nicht in DB geschrieben

    Hallo Leute,

    ich stehe bei meinem fast fertigen selbst geschriebenen Modul vor einem Problem:

    Ich lasse den User im Backend ein Bild auswählen, das sieht im DCA-File bei mir so aus:
    PHP-Code:
    'img' => array(
                  
    'label'                   => &$GLOBALS['TL_LANG']['tl_----']['img'],
                  
    'inputType'               => 'fileTree',
                  
    'eval'                    => array('files'=>true'filesOnly'=>true'fieldType'=>'radio')
            ) 
    So habe ich es auch in mehreren Tutorials gefunden.
    Allerdings wird bei mir kein Pfad in die DB geschrieben, sondern lediglich eine Zahl, ich vermute dass es irgendwie eine Bild-ID ist oder so.
    Jetzt meine Frage: Wie kriege ich den Pfad in die DB, oder wie kriege ich aus der Zahl mein Bild?

    Danke
    fllwngm

  2. #2
    Contao-Fan Avatar von Sioweb
    Registriert seit
    12.08.2011.
    Ort
    Düsseldorf
    Beiträge
    405
    User beschenken
    Wunschliste

    Standard

    Ho!

    die Bilderdaten werden in die tabelle tl_files gespeichert, in Contao 3 kannst du so darauf zugreifen:

    Code:
    $objFile = \FilesModel::findByPk($this->singleSRC);
    echo '<pre>'.print_r($objFile,1).'</pre>';
    Du übergibst dem FileModel einfach die ID und es liefert dir alle Bildinformationen. Schau dir sonst mal die Datei ContentImage.php in Contao an, da werden Bilder entsprechend geladen.
    Grüße Sascha W. @Sioweb
    schadebalken.de | zurück-zu-montag.de
    +++ Programmierer von Change-Lok erfasst worden +++

  3. #3
    Contao-Nutzer
    Registriert seit
    10.04.2013.
    Beiträge
    18

    Standard

    Herzlichen Dank, funktioniert perfekt!

    Ich gehe mal davon aus, dass das in Contao < 3 noch anders war und das das Tutorial was ich hatte auf dieser Version aufgebaut hat.. So ist das halt mit neuen Versionen

  4. #4
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    Korrekt. Ich hatte das hier auch mal beschrieben wie es der Core tut.
    https://community.contao.org/de/show...l=1#post202980
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  5. #5
    Contao-Nutzer Avatar von hombo13
    Registriert seit
    06.05.2013.
    Ort
    Schaffhausen
    Beiträge
    58

    Standard

    Ooops bevor ihr weiterlest: ich habe gerade gesehen, die Diskussion geht hier weiter, dann kann man also meine Frage ignorieren.:
    Forum

    Zitat Zitat von Sioweb Beitrag anzeigen
    Ho!

    die Bilderdaten werden in die tabelle tl_files gespeichert, in Contao 3 kannst du so darauf zugreifen:

    Code:
    $objFile = \FilesModel::findByPk($this->singleSRC);
    echo '<pre>'.print_r($objFile,1).'</pre>';
    Du übergibst dem FileModel einfach die ID und es liefert dir alle Bildinformationen. Schau dir sonst mal die Datei ContentImage.php in Contao an, da werden Bilder entsprechend geladen.
    Ich habe das Video-Tutorial für Modulentwicklung für Contao 3 von Tristan nachgebaut. Jetzt wollte ich - in Abweichung zu Tristan's Screencast-Liste - im DCA noche in Bild einfügen. Das macht man im DCA mit fileTree - z.B. so:

    PHP-Code:
     'singleSRC' => array
                (
                
    'label' => &$GLOBALS['TL_LANG']['tl_staff']['singleSRC'],
                
    'exclude' => true,
                
    'inputType' => 'fileTree',
                
    'eval' => array(
                    
    'filesOnly' => true,
                    
    'extensions' => $GLOBALS['TL_CONFIG']['validImageTypes'],
                    
    'fieldType' => 'radio',
                    
    'tl_class' => 'clr'
                
    ),
                
    'sql' => "varchar(255) NOT NULL default ''"
            
    ), 
    Im Ordner meineExtension/modules/ habe ich nichts geändert, so wie im Video von Tristan:
    PHP-Code:
    ..

        protected function 
    compile()
        {
            
    /** @var \Contao\Database\Result $rs */
            
    $rs Database::getInstance()
                ->
    query('SELECT * FROM tl_meineExtension ORDER BY lastname');
     
            
    $this->Template->staffs $rs->fetchAllAssoc();
        }
    ... 
    .

    Im Template weiss ich aber nicht wie ausgeben, wenn ich das hier mache, wird eine Zahl ausgegeben:

    PHP-Code:
    ... 
      <ul class="staff_<?php echo $i?>">
            <li><?php echo $meineExtension['singleSRC']; ?></li>
    ...
    Ich bin wahrscheinlich ganz nah dran - wer könnte mir hier helfen? Sorry - bin noch nicht lange dabei, Anfängerfrage ...
    Geändert von hombo13 (02.10.2013 um 14:42 Uhr)

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
  •