Contao-Camp 2024
Ergebnis 1 bis 7 von 7

Thema: RockSolid Custom Elements: Ausgabe im Template von multipe inputType fileTree

  1. #1
    Contao-Nutzer Avatar von ttcdummy
    Registriert seit
    02.03.2014.
    Beiträge
    213
    User beschenken
    Wunschliste

    Frage RockSolid Custom Elements: Ausgabe im Template von multipe inputType fileTree

    Hallo,
    ich würde gerne eine Downloadmöglichkeit schaffen.
    Bei Bildern funktioniert die Geschichte ja hervorragend.

    Funktioniert auch bei Dateien, wie unten angegeben:

    PHP-Code:
    'download_custom' => array(
       
    'label' => array('Download''Hier können Dateien zum Download angegeben werden.'),
       
    'inputType' => 'fileTree',
       
    'eval' => array(
           
    'mandatory' => false,
           
    'multiple' => true,
           
    'fieldType' => 'checkbox',
           
    'filesOnly' => true,
           
    'extensions' => 'pdf,zip,doc,docx,xlsx,ppt,pptx',
       ),
    ), 
    Mir wird allerdings ein wilder Zahlenstring (serialized?) zurück gegeben.
    Wie löse ich diesen auf? Wie müsste die Ausgabe im Template aussehen für mehrere Dateien?

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

    Standard

    Mit RockSolid Custom Elements hat das nur indirekt etwas zu tun. Prinzpiell steht bei einem fileTree Input mit 'multiple' => true dann ein serialisiertes Array mit UUIDs in der Datenbank. Das könntest du zB so verarbeiten:
    PHP-Code:
    $arrUuids deserialize($this->download_custom);
    foreach (
    $arrUuids as $uuid)
    {
        
    $objFile = \FilesModel::findByUuid($uuid);
        
    // …


  3. #3
    Contao-Nutzer Avatar von ttcdummy
    Registriert seit
    02.03.2014.
    Beiträge
    213
    User beschenken
    Wunschliste

    Standard

    Danke!
    Geändert von ttcdummy (11.05.2017 um 14:13 Uhr)

  4. #4
    Contao-Nutzer Avatar von ttcdummy
    Registriert seit
    02.03.2014.
    Beiträge
    213
    User beschenken
    Wunschliste

    Standard

    Eine Frage habe ich da jetzt doch noch:

    Es kommt im dem Objekt ein Array [meta] - auch serialisiert - mit raus.
    Dort sind in Arrays unterteilt die Sprachen drin, welche dann die einzelnen Metadaten enthalten.

    Angenommen ich will jetzt den Bildtitel [title] haben.
    Wie gebe ich dass den passend zur gerade gewählten Seite/Sprache aus?

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

    Standard

    Wahrscheinlich hat das RockSolid Custom Element das Array bereits deserialisiert. Dann ist es nur mehr
    PHP-Code:
    foreach ($this->download_custom as $uuid)
    {
        
    $objFile = \FilesModel::findByUuid($uuid);
        
    // …


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

    Standard

    Zitat Zitat von ttcdummy Beitrag anzeigen
    Wie gebe ich dass den passend zur gerade gewählten Seite/Sprache aus?
    Die aktuelle Sprache bekommst du mit
    PHP-Code:
    $GLOBALS['TL_LANGUAGE'
    Damit holst du dir die entsprechenden Infos aus dem Array.

  7. #7
    Contao-Nutzer Avatar von ttcdummy
    Registriert seit
    02.03.2014.
    Beiträge
    213
    User beschenken
    Wunschliste

    Standard

    So funktioniert das alles!
    Perfekt gelöst!

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
  •