Ergebnis 1 bis 5 von 5

Thema: RockSolid Custom Elements - Link generieren und ausgeben

  1. #1
    Contao-Fan Avatar von MrLumbergh
    Registriert seit
    11.01.2012.
    Ort
    Hamburg
    Beiträge
    368

    Frage RockSolid Custom Elements - Link generieren und ausgeben

    Hallo Leute,

    ich versuche, mit custom elements einen Link zu erstellen.
    Ich bekomme aber mit folgendem Code nur hin, dass ich eine Seite aus dem Tree wählen kann:
    HTML-Code:
    'url' => array(
    'inputType' => 'pageTree',
    'eval' => array('tl_class' => 'w50', 'mandatory'=>true, 'fieldType'=>'radio'),
    ),
    Was ich brauche: Das Gleiche, wie beim Bild-Modul: Ein Eingabefeld, in das ich eine (externe) URL oder den Link zu einer News pasten kann mit einem Knopf daneben, um eine Seite aus dem Tree zu wählen.

    Außerdem benötige ich noch die richtige Ausgabe für's Frontend.
    HTML-Code:
    <?php echo $this->url ?>
    Da kommt nur "41" raus.

    Bonuspunkte gibt es für denjenigen, der mir eine Extension zeigt, mit der ich in dem URL-Feld Newsbeiträge auswählen kann.

    Vielen Dank!

  2. #2
    Contao-Nutzer Avatar von RockSolid Themes
    Registriert seit
    29.05.2012.
    Beiträge
    205
    Partner-ID
    8945

    Standard

    Für diese Funktion kannst du in den RockSolid Custom Elements einfach 'inputType' => 'url', verwenden. Weitere Informationen dazu findest du in der Dokumentation: https://rocksolidthemes.com/de/conta...on#feldtyp-url

  3. #3
    Contao-Fan Avatar von MrLumbergh
    Registriert seit
    11.01.2012.
    Ort
    Hamburg
    Beiträge
    368

    Standard

    Vielen Dank!

  4. #4
    Contao-Nutzer
    Registriert seit
    16.11.2016.
    Beiträge
    49

    Standard

    Hallo,
    ich habe leider Probleme mit dem
    PHP-Code:
    'inputType' => 'url'
    , denn im Frontend wird der Link nicht ausgegeben. Es erscheint ein leeres div.

    Es ist mein erster Versuch, Custom Elements zu erstellen und ich habe angefangen, das Team-Beispiel von RSCE umzubiegen. Leider eben mit oben genanntem Erfolg. Hier mein Code:

    PHP-Code:
    <?php
    // rsce_boxes_config.php
    return array(
        
    'label' => array('Grafischer Teaser''Erzeugt eine...'),
        
    'types' => array('content'),
        
    'contentCategory' => 'texts',
        
    'standardFields' => array('headline''cssID'),
        
    'fields' => array(
            
    'boxes' => array(
                
    'label' => array('Textboxen'''),
                
    'elementLabel' => '%s. Box',
                
    'inputType' => 'list',
                
    'minItems' => 1,
                
    'maxItems' => 4,
                
    'fields' => array(
                    
    'headline' => array(
                        
    'label' => array(
                            
    'de' => array('Überschrift'''),
                            
    'en' => array('Headline'''),
                        ),
                        
    'inputType' => 'text',
                    ),
                    
    'text' => array(
                        
    'label' => array(
                            
    'de' => array('Unterzeile'''),
                            
    'en' => array('Subheading'''),
                        ),
                        
    'inputType' => 'textarea',
                    ),
                    
    'link' => array(
                        
    'label' => array(
                            
    'de' => array('Link einfügen'''),
                            
    'en' => array('Insert link'''),
                            ),
                        
    'inputType' => 'url',
                    ),
                    
    'image' => array(
                        
    'label' => array(
                            
    'de' => array('Hintergrundbild'''),
                            
    'en' => array('Background image'''),
                        ),
                        
    'inputType' => 'fileTree',
                        
    'eval' => array(
                            
    'fieldType' => 'radio',
                            
    'filesOnly' => true,
                            
    'extensions' => 'jpg,jpeg,png,gif,svg',
                        ),
                    ),
                ),
            ),
        ),
    );
    HTML-Code:
    <!-- rsce_boxes.html5 -->
    <section class="<?php echo $this->class ?> block"<?php echo $this->cssID ?>>
        <?php foreach ($this->boxes as $box): ?>
            <section class="box">
    
    			<?php if ($image = $this->arrData['getImageObject']($box->image, array(180, 180))): ?>
    				<img class="" src="<?php echo $image->src ?>" alt="<?php echo $image->alt ?: $member->name ?>"<?php echo $image->imgSize ?>>
    			<?php endif ?>
            	<h2>
                	<?php echo $box->headline ?>
            	</h2>
            	<div>
                	<?php echo $box->text ?>
            	</div>
                <div>
    	            {{link::<?php echo $box->link ?>}}
    	        </div>
    	        <?php var_dump($box) ?>
            </section>
        <?php endforeach ?>
    </section>
    Der var-dump liefert dieses Ergebnis:
    object(stdClass)#467 (4) { ["headline"]=> string(9) "Über uns" ["text"]=> string(10) "Unterzeile" ["link"]=> string(15) "%C3%BCber-uns/gesch%C3%A4ftsf%C3%BChrung.html" ["image"]=> string(36) "1f1538ba-ff86-11e7-84e3-0deb75894ce4" }

    Und das hier ist der im Frontend ausgegebene Code:
    HTML-Code:
    <section class="box">
       <img class="" src="assets/images/4/placeholder-1920x1080-8636e614.jpg" alt="placeholder" width="180" height="180">
       <h2>
          Über uns        	
       </h2>
       <div>
          Unterzeile        	
       </div>
       <div>
       </div>
       object(stdClass)#467 (4) {
       ["headline"]=&gt;
       string(9) "Über uns"
       ["text"]=&gt;
       string(10) "Unterzeile"
       ["link"]=&gt;
       string(15) "%C3%BCber-uns/gesch%C3%A4ftsf%C3%BChrung.html"
       ["image"]=&gt;
       string(36) "1f1538ba-ff86-11e7-84e3-0deb75894ce4"
       }
    </section>
    Kann jemand weiterhelfen?
    Geändert von dudette (25.01.2018 um 08:32 Uhr)

  5. #5
    Contao-Fan
    Registriert seit
    16.11.2012.
    Ort
    Freiburg
    Beiträge
    539

    Standard

    Ich würde sagen das er diesen alias so nicht findet da du das .html dabei hast.
    Gib mal dein Link mal so aus

    Code:
    <?= $box->link ?>
    Grüße
    Alex

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
  •