Ergebnis 1 bis 6 von 6

Thema: if/else Nachrichten-Template

  1. #1
    Contao-Fan Avatar von Silvano
    Registriert seit
    12.09.2010.
    Ort
    Zürich, Schweiz
    Beiträge
    326
    Partner-ID
    7631

    Standard if/else Nachrichten-Template

    Guten Abend Zusammen

    bräuchte kurz Hilfe damit ich bei meinem Projekt weiterkomme ;-)
    Ziel ist es (Nachrichtensystem), wenn ein Beitrag die CSS Klasse "first" drin hat (was ja beim ersten immer automatisch der fall ist) soll mir das Template das Bild in Originalgrösse anzeigen, ansonsten soll es mir das Bild in einer anderen Grösse anzeigen.

    folgendes habe ich - funktioniert auch, nur, wenn der Beitrag nun wirklich die CSS Klase "first" drin hat, zeigt er mir das Bild zwei mal an. Habe ein wenig mühe wo ich nun if und dann else einfügen muss.

    Code:
    <div class="layout_latest block<?php echo $this->class; ?>">
    
    <?php if(strpos($this->class,'first')): ?>
    <?php if ($this->addImage): ?>
    <div class="image_container<?php echo $this->floatClass; ?>"<?php if ($this->margin || $this->float): ?> style="<?php echo trim($this->margin . $this->float); ?>"<?php endif; ?>>
    <?php if ($this->href): ?>
    <a href="<?php echo $this->href; ?>"<?php echo $this->attributes; ?> title="<?php echo $this->alt; ?>">
    <?php endif; ?>
    <img src="<?php echo $this->src; ?>"<?php echo $this->imgSize; ?> alt="<?php echo $this->alt; ?>" />
    <?php if ($this->href): ?>
    </a>
    <?php endif; ?>
    <?php if ($this->caption): ?>
    <div class="caption"><?php echo $this->caption; ?></div>
    <?php endif; ?>
    </div>
    <?php endif; ?>
    <?php endif; ?>
    
    <?php if ($this->addImage): ?>
    <div class="image_container<?php echo $this->floatClass; ?>"<?php if ($this->margin || $this->float): ?> style="<?php echo trim($this->margin . $this->float); ?>"<?php endif; ?>>
    <?php if ($this->href): ?>
    <a href="<?php echo $this->href; ?>"<?php echo $this->attributes; ?> title="<?php echo $this->alt; ?>">
    <?php endif; ?>
    <img src="<?php echo $this->src; ?>" width="335px" height="100px" alt="<?php echo $this->alt; ?>" />
    <?php if ($this->href): ?>
    </a>
    <?php endif; ?>
    <?php if ($this->caption): ?>
    <div class="caption"><?php echo $this->caption; ?></div>
    <?php endif; ?>
    </div>
    <?php endif; ?>
    
    <div class="layout_latest block<?php echo $this->class; ?> hs-teaser-over-image">
    <h1><?php echo $this->text ? $this->linkHeadline : $this->newsHeadline; ?></h1>
    <p class="teaser"><?php echo $this->teaser; ?></p>
    <?php if ($this->text): ?>
    <?php endif; ?>
    </div></div>
    ähmm ... ja, Danke bereits im Voraus ;-)

  2. #2
    Contao-Nutzer Avatar von saschaho
    Registriert seit
    09.07.2009.
    Beiträge
    26

    Standard

    Hi,
    ohne Gewähr. Kann sein, dass ich die Anführungszeichen falsch ausgeklammert habe.
    Grüße

    Code:
    <div class="layout_latest block<?php echo $this->class; ?>">
    
    <?php if ($this->addImage): ?>
    <div class="image_container<?php echo $this->floatClass; ?>"<?php if ($this->margin || $this->float): ?> style="<?php echo trim($this->margin . $this->float); ?>"<?php endif; ?>>
    <?php if ($this->href): ?>
    <a href="<?php echo $this->href; ?>" <?php if(strpos($this->class,'first')){echo $this->attributes;} else{ echo " width=\"335px\" height=\"100px\" "} ?><?php endif; ?> title="<?php echo $this->alt; ?>"><?php endif; ?>
    <img src="<?php echo $this->src; ?>"<?php echo $this->imgSize; ?> alt="<?php echo $this->alt; ?>" />
    <?php if ($this->href): ?>
    </a>
    <?php endif; ?>
    <?php if ($this->caption): ?>
    <div class="caption"><?php echo $this->caption; ?></div>
    <?php endif; ?>
    </div>
    <?php endif; ?>
    
    <div class="layout_latest block<?php echo $this->class; ?> hs-teaser-over-image">
    <h1><?php echo $this->text ? $this->linkHeadline : $this->newsHeadline; ?></h1>
    <p class="teaser"><?php echo $this->teaser; ?></p>
    <?php if ($this->text): ?>
    <?php endif; ?>
    </div></div>

  3. #3
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Da wo jetzt dein endif: steht musst du ein else: setzten und am ende das endif

    Grüße


    Sent from my iPhone using Tapatalk
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  4. #4
    Contao-Fan Avatar von Silvano
    Registriert seit
    12.09.2010.
    Ort
    Zürich, Schweiz
    Beiträge
    326
    Partner-ID
    7631

    Standard

    Zitat Zitat von saschaho Beitrag anzeigen
    Hi,
    ohne Gewähr. Kann sein, dass ich die Anführungszeichen falsch ausgeklammert habe.
    Grüße

    Code:
    <div class="layout_latest block<?php echo $this->class; ?>">
    
    <?php if ($this->addImage): ?>
    <div class="image_container<?php echo $this->floatClass; ?>"<?php if ($this->margin || $this->float): ?> style="<?php echo trim($this->margin . $this->float); ?>"<?php endif; ?>>
    <?php if ($this->href): ?>
    <a href="<?php echo $this->href; ?>" <?php if(strpos($this->class,'first')){echo $this->attributes;} else{ echo " width=\"335px\" height=\"100px\" "} ?><?php endif; ?> title="<?php echo $this->alt; ?>"><?php endif; ?>
    <img src="<?php echo $this->src; ?>"<?php echo $this->imgSize; ?> alt="<?php echo $this->alt; ?>" />
    <?php if ($this->href): ?>
    </a>
    <?php endif; ?>
    <?php if ($this->caption): ?>
    <div class="caption"><?php echo $this->caption; ?></div>
    <?php endif; ?>
    </div>
    <?php endif; ?>
    
    <div class="layout_latest block<?php echo $this->class; ?> hs-teaser-over-image">
    <h1><?php echo $this->text ? $this->linkHeadline : $this->newsHeadline; ?></h1>
    <p class="teaser"><?php echo $this->teaser; ?></p>
    <?php if ($this->text): ?>
    <?php endif; ?>
    </div></div>
    Danke. Stimmt, man kann reduzieren. Jedoch stimmt etwas wirklich nicht ;-)

    Zitat Zitat von Tim G Beitrag anzeigen
    Da wo jetzt dein endif: steht musst du ein else: setzten und am ende das endif
    muss ich dann nach dem else: nochmals mit einem if beginnen?

    Danke.

  5. #5
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    So, könntest Du es anstellen:
    <?php if(strpos($this->class,'first')): ?>
    # hier der Code für das Bild in Originalgröße
    <?php else: ?>
    # hier der Code für das Thumbnail
    <?php endif; ?>

    Für die Originalgröße musst du die Template-Variable singleSRC ($this->singleSRC) nutzen, da $this->src betreits ein Verweis auf das gerenderte Bild ist und ggf. beschnitten ist.

    Daher:

    PHP-Code:
    <?php if(strpos($this->class,'first')): ?>
    <?php 
    if ($this->addImage): ?>
    <div class="image_container<?php echo $this->floatClass?>"<?php if ($this->margin || $this->float): ?> style="<?php echo trim($this->margin $this->float); ?>"<?php endif; ?>>
    <?php if ($this->href): ?>
    <a href="<?php echo $this->href?>"<?php echo $this->attributes?> title="<?php echo $this->alt?>">
    <?php endif; ?>
    <img src="<?php echo $this->singleSRC?>" alt="<?php echo $this->alt?>" />
    <?php if ($this->href): ?>
    </a>
    <?php endif; ?>
    <?php 
    if ($this->caption): ?>
    <div class="caption"><?php echo $this->caption?></div>
    <?php endif; ?>
    </div>
    <?php endif; ?>

    <?php else: ?>

    <?php if ($this->addImage): ?>
    <div class="image_container<?php echo $this->floatClass?>"<?php if ($this->margin || $this->float): ?> style="<?php echo trim($this->margin $this->float); ?>"<?php endif; ?>>
    <?php if ($this->href): ?>
    <a href="<?php echo $this->href?>"<?php echo $this->attributes?> title="<?php echo $this->alt?>">
    <?php endif; ?>
    <img src="<?php echo $this->src?>"<?php echo $this->imgSize?> alt="<?php echo $this->alt?>" />
    <?php if ($this->href): ?>
    </a>
    <?php endif; ?>
    <?php 
    if ($this->caption): ?>
    <div class="caption"><?php echo $this->caption?></div>
    <?php endif; ?>
    </div>
    <?php endif; ?>

    <?php endif; ?>
    Das ist nur der Schnippsel für die Bilder!

    Grüße Tim

  6. #6
    Contao-Fan Avatar von Silvano
    Registriert seit
    12.09.2010.
    Ort
    Zürich, Schweiz
    Beiträge
    326
    Partner-ID
    7631

    Standard

    Zitat Zitat von Tim G Beitrag anzeigen
    So, könntest Du es anstellen:
    <?php if(strpos($this->class,'first')): ?>
    # hier der Code für das Bild in Originalgröße
    <?php else: ?>
    # hier der Code für das Thumbnail
    <?php endif; ?>
    aaahhh ... so, ja gut. Zusammen mit deiner Vorlage funktionierte es wunderbar.
    Ich bedanke mich bei allen ;-)

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
  •