Verwendung: Bild nicht im Frontend sichtbar

mh's Avatar

mh

30 May, 2018 09:47 AM

Produkt: Custom Elements Contao
Contao-Version: 4.4
Browser und Browserversionen: Firefox 60

Hi,
ich wähle im Backend ein Bild aus und schreibe einen Text. Den Text kann ich im Frontend ausgeben, das Bild aber nicht.
var_dump($this->image) gibt int(1) aus und echo($this->image) 1. Habe auch $image->src versucht, aber $image hat keine propertys. (Habe natürlich vorher $image=$this->image) Ich bin mir nicht sicher wo der Fehler liegt. Irgendwie vermute ich was in der config Datei.

  1. 1 Posted by mh on 30 May, 2018 09:51 AM

    mh's Avatar

    CONFIG

    <?php
    // rsce_my_element_config.php
    return array(
        'label' => array('LB - Fullscreen Hero Banner', 'Vollbild-Banner am Kopf der Webseite'),
        'types' => array('content','module'),
        'contentCategory' => 'LB-Content-Module',
        'moduleCategory' => 'LB Module',
        'standardFields' => array('headline', 'cssID'),
        'wrapper' => array(
            'type' => 'none',
        ),
        'fields' => array(
            'text' => array(
                'label' => array('Text', 'Beschreibung...'),
                'eval' => array('rte' => 'tinyMCE'),
                'inputType' => 'textarea',
            ),
            'image' => array(
                        'label' => array(
                            'de' => array('Hintergrundbild', ''),
                        ),
                        'inputType' => 'fileTree',
                        'eval' => array(
                            'fieldType' => 'radio',
                            'filesOnly' => true,
                            'extensions' => 'jpg,jpeg,png,gif,svg',
                        ),
            ),          
        ),
        
    );
    
  2. Support Staff 2 Posted by RockSolid Theme... on 30 May, 2018 11:57 AM

    RockSolid Themes's Avatar

    Vielen Dank für Ihre Frage.

    Mit Ihrer Konfiguration wurde in unserem Test mit <?php var_dump($this->image) ?> korrekt die UUID des Bildes ausgegeben. Wie es hierbei zu einer Ausgabe von int(1) kommt, ist uns unerklärlich. Können Sie uns noch Ihren Inhalt der Datei rsce_my_element.html5 senden?

  3. 3 Posted by mh on 30 May, 2018 12:52 PM

    mh's Avatar

    Ich habe jetzt mal image so deklariert.
    $image = $this->arrData['getImageObject']($this->image, array("","")). Da scheine ich tatsächlich das object zu bekommen. $image->src gibt mir einen pfad zurück. Aber $this->image sollte doch eigentlich auch klappen.

    <!-- rsce_lb_fullscreen-hero.html5 -->
    <?php $image = $this->image; ?>
    <?php echo($image); ?> 
    <?php var_dump($image); ?> 
    
    <section class="lb-fullscreen-hero'<?php echo $this->class ?> block"<?php echo $this->cssID ?> style="background-image: url()" >
        <header>
            <div class="hero-content">
                <<?php echo $this->hl ?>>
                    <?php echo $this->headline ?>
                </<?php echo $this->hl ?>>
                <?php echo $this->text ?>
                <a class="btn-1st" href="#">Maßanfertigung</a> 
                <a class="btn-1st" href="#">Reperatur</a>
            </div>
            <span class="icn_arrow-down"></span>
        </header>
    </section>
    
  4. Support Staff 4 Posted by RockSolid Theme... on 30 May, 2018 02:59 PM

    RockSolid Themes's Avatar

    Aber $this->image sollte doch eigentlich auch klappen.

    In $this->image ist nicht der Pfad, sondern die UUID des Bildes gespeichert. Um den Pfad zu bekommen, können Sie folgenden Code verwenden: <?= $this->getImageObject($this->image)->src ?>

Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:

»

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac