Ergebnis 1 bis 9 von 9

Thema: Mehrere Bilder im Template via Image Studio ausgeben

  1. #1
    Contao-Nutzer
    Registriert seit
    02.04.2020.
    Beiträge
    16

    Standard Mehrere Bilder im Template via Image Studio ausgeben

    Hallo zusammen,

    ich kämpfe gerade mit dem Problem, mehrere Bilder in einem Template in meinem DCA auszugeben.

    Dazu würde ich gerne das Image Studio von Contao verwenden (im Controller funktioniert alles wunderbar):

    PHP-Code:
    protected function addParamsToTemplate(Template $templateContentModel $modelRequest $request): void
        
    {
            
    // Add an image
            
    if (!empty($model->singleSRC)) {
                
    $objModel FilesModel::findByUuid($model->singleSRC);

                if (
    null !== $objModel && is_file(System::getContainer()->getParameter('kernel.project_dir').'/'.$objModel->path)) {

                    
    $figureBuilder System::getContainer()
                        ->
    get(Studio::class)
                        ->
    createFigureBuilder();
                    
    $figureBuilder
                        
    ->fromPath($objModel->path)
                        ->
    setSize($model->size)
                        ->
    setOptions(['attr' => ['class' => 'custom-figure']]);
                    
    $figure $figureBuilder->build();
                    
    $template->setData($figure->getLegacyTemplateData());

                }
            }
         
        } 
    Im Template (.html5) verwende ich das Inserttag, um das erste Bild anzuzeigen (das funktioniert auch problemlos):
    HTML-Code:
    <?php $this->insert('image', $this->arrData); ?>
    Meine Frage ist, wie ich den Controller-Code anpassen muss, um ein zweites Bild im Template ausgeben zu können? Denn in der DCA-Palette steht:
    PHP-Code:
    $GLOBALS['TL_DCA'][$tableName]['fields']['second_img'] = [
        
    'exclude' => true,
        
    'inputType' => 'fileTree',
        
    'eval' => [
            
    'context' => 'file',
            
    'pickerFilter' => null,
            
    'fieldType' => 'radio',
            
    'filesOnly' => true,
            
    'multiple' => false,
            
    'tl_class' => 'clr',
            
    'extensions' => Config::get('validImageTypes'),
        ],
        
    'sql' => ['type' => 'binary_string''length' => 16'fixed' => true'notnull' => false],
        
    'foreignKey' => 'tl_files.name',
        
    'relation' => ['type' => 'hasOne''load' => 'lazy'],
    ]; 
    Danke und viele Grüße

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

    Standard

    probier mal

    PHP-Code:
            'multiple' => true

  3. #3
    Contao-Nutzer
    Registriert seit
    02.04.2020.
    Beiträge
    16

    Standard

    Ah zonky, danke für deineAntwort aber mir geht es eher darum, ein zweites Bild (second_img) in Template zur Verfügung zu stellen.

    Vorher habe ich es mit Controller::addImageToTemplate versucht, aber das erzeugt auch nur ein FigureModel von $model->singleSRC. Ich brauche aber das von $model->second_img.

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

    Standard

    PHP-Code:
    <?= $this->figure($this->singleSRC$this->size, ['options' => ['floatClass' => ' custom-figure']]) ?>
    <?= $this
    ->figure($this->second_img$this->size, ['options' => ['floatClass' => ' custom-figure']]) ?>
    » sponsor me via GitHub or PayPal or Revolut

  5. #5
    Contao-Nutzer
    Registriert seit
    02.04.2020.
    Beiträge
    16

    Standard

    Hmm ja okay, anders gefragt - kann ich zwei Figure-Objekte in einem Template erzeugen?
    [PHP] $figure->applyLegacyTemplateData($template);[/PHP im Controller überschreibt doch das vorherige Objekt.

    Danke

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

  7. #7
    Contao-Nutzer
    Registriert seit
    02.04.2020.
    Beiträge
    16

    Standard

    Ich konnte mein Problem lösen, indem ich im Controller über eine separate Methode ein FigureObject mehrfach mit verschiedenen Bildern unter unterschiedlichen Namen in einer Schleife generiere.

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

    Standard

    @JarekEikona ignorierst du meine Posts absichtlich?
    » sponsor me via GitHub or PayPal or Revolut

  9. #9
    Contao-Nutzer
    Registriert seit
    02.04.2020.
    Beiträge
    16

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    @JarekEikona ignorierst du meine Posts absichtlich?
    Oh Gott erst jetzt habe ich kapiert was du mit deinem Code Snippet gemeint hast - DANKE Spooky!!!

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
  •