Ergebnis 1 bis 10 von 10

Thema: News-Latest Template: Teserbox komplett verlinken

  1. #1
    Contao-Nutzer
    Registriert seit
    31.03.2016.
    Beiträge
    14

    Standard News-Latest Template: Teserbox komplett verlinken

    Servus zusammen,

    ich suche nach einer Möglichkeit den gesamten Newsteaser zu verlinken, also nicht blos das Bild oder nur die headline. Hier meine news-latest-template-datei:

    Code:
    <div class="layout_latest arc_<?= $this->archive->id ?> block<?= $this->class ?>">
      <?php if ($this->hasMetaFields): ?>
        <p class="info"><time datetime="<?= $this->datetime ?>"><?= $this->date ?></time> <?= $this->author ?> <?= $this->commentCount ?></p>
      <?php endif; ?>
    
      <?php if ($this->addImage): ?>
        <figure class="image_container<?= $this->floatClass ?>"<?php if ($this->margin): ?> style="<?= $this->margin ?>"<?php endif; ?>>
    
    
    	<?php if ($this->href): ?>
    	<a href="<?php echo $this->href; ?>"<?php echo $this->attributes; ?> title="<?php echo $this->alt; ?>">
    		<?php else: ?>
    		
    		<a href="<?php echo $this->link; ?>" title="<?php echo $this->newsHeadline; ?>"> 
    	<?php endif; ?> 
    		<img src="<?php echo $this->src; ?>"<?php echo $this->imgSize; ?> alt="<?php echo $this->alt; ?>" /> 
    	</a>
    
          <?php if ($this->caption): ?>
            <figcaption class="caption"><?= $this->caption ?></figcaption>
          <?php endif; ?>
    
        </figure>
      <?php endif; ?>
    
    
    	<div class="teaser_box">
    		<h2><?= $this->linkHeadline ?></h2>
    		<h3><?= $this->subheadline ?></h3>
    		
    		  <div class="teaser">
    		    <?= $this->teaser ?>
    		  </div>
    		
    		  <?php if ($this->hasText || $this->hasTeaser): ?>
    		    <p class="more"><?= $this->more ?></p>
    		  <?php endif; ?>
    	</div><!-- end teaser_box -->
    	
    </div>
    Also es müsste ein Link-Element um das Main-div gelegt werden. Aber mit a href="<?php echo $this->href; ?>... funktioniert das nicht

    Könnt ihr mir helfen?

  2. #2
    Contao-Nutzer
    Registriert seit
    19.02.2016.
    Beiträge
    7

    Standard

    Hallo fritti,

    kannst du hierzu nicht einfach den link nehmen, den du schon selbst im Template verwendest?

    Code:
    <a href="<?php echo $this->link; ?>" title="<?php echo $this->newsHeadline; ?>"> ... </a>
    Müsste doch damit gehen, denke ich ... auf die einzelnen Elemente verlinkt.

    Florian

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

    Standard

    Zitat Zitat von fritti Beitrag anzeigen
    Also es müsste ein Link-Element um das Main-div gelegt werden. Aber mit a href="<?php echo $this->href; ?>... funktioniert das nicht
    href ist für das Bild. Das was du suchst ist
    PHP-Code:
    $this->link 
    Solche Sachen kannst du auch mit
    PHP-Code:
    <?= $this->showTemplateVars() ?>
    herausfinden.

  4. #4
    Contao-Nutzer
    Registriert seit
    31.03.2016.
    Beiträge
    14

    Standard

    Ah sehr cool, danke für eure Hilfe. Ich wusste nicht, dass es auch bei den TemplateVariablen steht. Danke!

  5. #5
    Contao-Nutzer
    Registriert seit
    31.03.2016.
    Beiträge
    14

    Standard

    Okay hier nun mein Code mit eigefügter Template-Variable:

    HTML-Code:
    <div class="layout_latest arc_<?= $this->archive->id ?> block<?= $this->class ?>">
    	[B]<a href="<?php echo $this->link; ?>">[/B]
      <?php if ($this->hasMetaFields): ?>
        <p class="info"><time datetime="<?= $this->datetime ?>"><?= $this->date ?></time> <?= $this->author ?> <?= $this->commentCount ?></p>
      <?php endif; ?>
    
      <?php if ($this->addImage): ?>
        <figure class="image_container<?= $this->floatClass ?>"<?php if ($this->margin): ?> style="<?= $this->margin ?>"<?php endif; ?>>
    
    
    	<?php if ($this->href): ?>
    	<a href="<?php echo $this->href; ?>"<?php echo $this->attributes; ?> title="<?php echo $this->alt; ?>">
    		<?php else: ?>
    		
    		<a href="<?php echo $this->link; ?>" title="<?php echo $this->newsHeadline; ?>"> 
    	<?php endif; ?> 
    		<img src="<?php echo $this->src; ?>"<?php echo $this->imgSize; ?> alt="<?php echo $this->alt; ?>" /> 
    	</a>
    
          <?php if ($this->caption): ?>
            <figcaption class="caption"><?= $this->caption ?></figcaption>
          <?php endif; ?>
    
        </figure>
      
    
     <?php endif; ?>
    	<div class="teaser_box">
    		
    		<h2><?= $this->linkHeadline ?></h2>
    		<h3><?= $this->subheadline ?></h3>
    		
    		  <div class="teaser">
    		    <?= $this->teaser ?>
    		  </div>
    		
    		  <?php if ($this->hasText || $this->hasTeaser): ?>
    		    <p class="more"><?= $this->more ?></p>
    		  <?php endif; ?>
    		  
    
    	</div><!-- end teaser_box -->
    [B]</a>[/B]
    </div>
    Das a-Tag in der 2. und vorletzten Zeile soll den gesamten Teaser verlinken. Tut er aber nicht (siehe Bild im Anhang). Ist bestimmt nur eine Kleinigkeit, aber mit php kenne ich mich leider nicht aus. Man sieht auch, dass der Link richtig gesetzt wird.

    Unbenannt-1.jpg

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

    Standard

    So geht das nicht, denn so ist das invalides HTML, weil du ein <a> in einem anderen <a> verschachtelt hast. Du musst du das <a> um das <img> entfernen.

  7. #7
    Contao-Nutzer
    Registriert seit
    31.03.2016.
    Beiträge
    14

    Standard

    sorry, habe die templatedatei ist mal so angepasst:

    HTML-Code:
    <a href="<?php echo $this->link; ?>">
    <div class="layout_latest arc_<?= $this->archive->id ?> block<?= $this->class ?>">
    
      <?php if ($this->hasMetaFields): ?>
        <p class="info"><time datetime="<?= $this->datetime ?>"><?= $this->date ?></time> <?= $this->author ?> <?= $this->commentCount ?></p>
      <?php endif; ?>
    
      <?php if ($this->addImage): ?>
        <figure class="image_container<?= $this->floatClass ?>"<?php if ($this->margin): ?> style="<?= $this->margin ?>"<?php endif; ?>>
    		<img src="<?php echo $this->src; ?>"<?php echo $this->imgSize; ?> alt="<?php echo $this->alt; ?>" /> 
        </figure>
     <?php endif; ?>
     
    	<div class="teaser_box">
    		<h2><?= $this->linkHeadline ?></h2>
    		<h3><?= $this->subheadline ?></h3>
    		
    		  <div class="teaser">
    		    <?= $this->teaser ?>
    		  </div>
    		
    		  <?php if ($this->hasText || $this->hasTeaser): ?>
    		    <p class="more"><?= $this->more ?></p>
    		  <?php endif; ?>
    	</div><!-- end teaser_box -->
    
    </div>
    </a>
    Klappt leider immer noch nicht :-( Ist das vielleicht invalide, weil Elemente im a-Tag stehen?

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

    Standard

    Du hast immer noch verschachtelte <a> Tags. Du hast den more link nicht entfernt.

  9. #9
    Contao-Nutzer
    Registriert seit
    31.03.2016.
    Beiträge
    14

    Standard

    TOP! Danke dir, wieder einmal ;-) Wieder was gelernt!

  10. #10
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.794

    Standard

    PHP-Code:
    <h2><?= $this->linkHeadline ?></h2>
    Ist das nicht auch ein Link? Der wäre doch auch totes Fleisch, Link im Link...
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

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
  •