Ergebnis 1 bis 4 von 4

Thema: News nur Teaser (ohne Hyperlink)

  1. #1
    Contao-Nutzer Avatar von medianetic
    Registriert seit
    08.11.2010.
    Ort
    Berlin
    Beiträge
    194

    Standard News nur Teaser (ohne Hyperlink)

    Ein Kunde möchte News optional auch nur als Teaser darstellen. In dem Fall brauche ich natürlich kein Button bzw. Hyperlink 'Mehr ...'.

    Unter Weiterleitungsziel hat man aber nur die Möglichkeit: Standard, Seite, Artikel, Individuelle URL auszuwählen, so dass der Wert von $link immer gesetzt ist. In meinem News-Template habe ich jetzt stehen:

    Code:
    <div class="teaser" itemprop="description">
    				<?php echo $this->teaser; ?>
    				<!-- LINK -->
    				<?php if($this->linkHeadline && $this->link): ?>
    					<div class="ce_hyperlink read_more_btn">
    						<div class="ce_url attribute url">
    							<div class="ce_url attribute url block">
    								<a href="<?php echo $this->link; ?>" class="hyperlink_txt" title="Mehr">Mehr</a>
    							</div>
    						</div>
    					</div>
    				<?php endif; ?>
    </div>
    D.h. ich will den Hyperlink gar nicht ausgeben, wenn nur ein Teaser und kein Newsinhalt gesetzt wird, aber ich weiß nicht wie. Hat jemand eine Idee?

  2. #2
    Contao-Nutzer Avatar von medianetic
    Registriert seit
    08.11.2010.
    Ort
    Berlin
    Beiträge
    194

    Standard

    Für die Nachwelt, ich hab jetzt tl_news erweitert, einfach in das /contao/dca/ Verzeichnis 'tl_news.php':

    Code:
    <?php
    
    use Contao\CoreBundle\DataContainer\PaletteManipulator;
    
    
    PaletteManipulator::create()
        
        // add a new "custom_legend" after the "title_legend"
        ->addLegend('custom_legend', 'title_legend', PaletteManipulator::POSITION_AFTER)
    
         // directly add new fields to the new legend
         ->addField('onlyTeaser', 'custom_legend', PaletteManipulator::POSITION_APPEND)
    
        // now the field is registered in the PaletteManipulator
        // but it still has to be registered in the globals array:
        ->applyToPalette('default', 'tl_news')
        ; 
    
    
    
    \Contao\DcaLoader::loadDataContainer('tl_news');
    
    
    $GLOBALS['TL_DCA']['tl_news']['fields']['onlyTeaser'] =
    [
        'exclude'   => true,
        'label' => ['Only Teaser', 'Only Teaser'],
        'inputType' => 'checkbox',
        'eval'      =>
        [
            'tl_class'           => 'w50',
            'includeBlankOption' => true
        ],
        'sql' => [
            'type' => 'boolean',
            'default' => false,
        ],
    ];
    und dann im Template die Abfrage:

    Code:
    <?php if($this->linkHeadline && $this->link && $this->onlyTeaser == false): ?>

  3. #3
    Contao-Fan
    Registriert seit
    03.01.2012.
    Beiträge
    813

    Standard

    Ich löse sowas mit einer PHP-Abfrage, ob Inhaltselemente existieren oder nicht. Ich glaube der Code lautet:

    PHP-Code:
    if($this->hasText) { 
       
    HIER DIE AUSGABE


  4. #4
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.862
    Contao-Projekt unterstützen

    Support Contao

    Standard

    wenn du news_latest.html5 verwendest, sollte das auch Standard sein
    Grüsse
    Bernhard


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
  •