Contao-Camp 2024
Ergebnis 1 bis 8 von 8

Thema: $this->author nur Vorname ausgeben

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

    Support Contao

    Standard $this->author nur Vorname ausgeben

    Hallo,

    gibt es eine Möglichkeit das template news_latest.html5 so anzupassen, dass anstatt 'Vorname Nachname' nur 'Vorname' ausgegeben wird?
    Angesteuert wird es ja über $this->author; ... das gibt aber immer 'Vorname Nachname' aus

    Vielen Dank schon mal
    Grüsse
    Bernhard


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

    Standard

    Du könntest dir einfach direkt im Template den jeweiligen Backend User der Nachricht holen:
    PHP-Code:
    <?php

    $news 
    = \Contao\NewsModel::findById($this->id);
    $author = \Contao\UserModel::findById($news->author);

    ?>

    <?= $author->firstname ?>

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

    Support Contao

    Standard

    mmmh - nein, klappt nicht ... es wird nichts dazu ausgegeben. Auch nicht wenn ich noch ein Semikolon mit hinzufüge
    PHP-Code:
    <?= $author->firstname?>
    Grüsse
    Bernhard


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

    Standard

    Zeig mal das ganze Template her.

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

    Support Contao

    Standard

    PHP-Code:
    <?php
      $news 
    = \Contao\NewsModel::findById($this->id);
      
    $author = \Contao\UserModel::findById($news->author);
    ?> 

    <div class="row layout_latest arc_<?= $this->archive->id ?> block<?= $this->class ?>" itemscope itemtype="http://schema.org/Article">

      <?php if ($this->addImage): ?>
        <figure class="image_container col-12 col-md-6"<?php if ($this->margin): ?> style="<?= $this->margin ?>"<?php endif; ?>>

          <?php if ($this->hasText && $this->hasTeaser): ?>
            <a href="<?= $this->link ?>" title="">
          <?php endif; ?>

          <?php $this->insert('picture_default'$this->picture); ?>

          <?php if ($this->hasText && $this->hasTeaser): ?>
            </a>
          <?php endif; ?>

          <?php if ($this->caption): ?>
            <figcaption class="caption"><?= $this->caption ?></figcaption>
          <?php endif; ?>

        </figure>
      <?php endif; ?>
        <div class="postcontent col-12 col-md-6">
            <div class="postdate">
                <div class="postdate-day"><?php echo $this->parseDate("d"$this->timestamp); ?></div>
                <div class="postdate-monthyear"><?php echo $this->parseDate("M Y"$this->timestamp); ?></div>
            </div>
            
          <h2><?= $this->linkHeadline ?></h2>

          <?php if ($this->hasMetaFields): ?>
              <div class="info container">
                <div class="row">
                    <div class="postauthor col-12 col-md-5"><i class="far fa-user-edit mr-1"></i><?= $author->firstname ?></div>
                    <div class="postcategories col-12 col-md-6"><i class="far fa-tags mr-1"></i>
                        <?php if ($this->categories): ?>
                            <ul class="categories">
                                <?php foreach ($this->categories as $category): ?>
                                <li class="category_<?php echo $category['id']; ?>"><?php echo $category['title']; ?></li>
                                <?php endforeach; ?>
                            </ul>
                        <?php endif; ?> 
                    </div>                  
                </div>
              </div>
          <?php endif; ?>
        
            <div class="ce_text block" itemprop="description">
                <?php echo StringUtil::substr($this->teaser200); ?>
            </div>      
            <?php if ($this->hasText || $this->hasTeaser): ?>
                <p class="more mt-5"><?= $this->more ?></p>
            <?php endif; ?>         
        </div>

    </div>
    Grüsse
    Bernhard


  6. #6
    Contao-Fan Avatar von JMMB
    Registriert seit
    08.03.2012.
    Beiträge
    260
    User beschenken
    Wunschliste

    Standard

    Es gibt doch gar kein Feld Vorname in den Usern? Das wäre dann bei den Members. Die sind hier aber nicht gefragt.

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

    Standard

    Achso ja stimmt. Backend user haben ja gar kein Vorname & Nachname Feld. Nur ein Name feld.

    Dann musst du es selbst auftrennen:
    PHP-Code:
    <?php

    $news 
    = \Contao\NewsModel::findById($this->id);
    $author = \Contao\UserModel::findById($news->author);
    $names explode(' '$author->name);
    array_pop($names);
    $firstnames implode(' '$names);

    ?>

    <?= $firstnames ?>

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

    Support Contao

    Standard

    vielen DANK!!
    klappt einwandfrei
    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
  •