Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Themes & Theming ›

[gelöst] Feldinhalt im page-template ausgeben

Eingetragen von jens78 (40)
am 18.06.2016 - 16:06 Uhr in
  • Themes & Theming
  • Drupal 8.x

Hallo,

ich möchte den Inhalt eines image Feldes (head_img) im page Template ausgeben.

Ich habe es so

{{ content.field_head_img }}

versucht, hat aber leider nicht funktioniert. Könnt ihr mir sagen ob und wie es möglich ist Feldinhalte ausserhalb des node Templates auszugeben?

Vielen Dank im voraus

Jens

‹ Menüleiste am Smartphone nicht sichtbar [gelöst] Feldinhalt im page-template ausgeben ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

wenn das Image in diesem content enthalten ist

Eingetragen von ronald (3857)
am 19.06.2016 - 07:23 Uhr

kannst du es so ausgeben.

Was hast du aber genau vor?
Vielleicht versuchst du etwas zu programmieren, was Drupal von selbst schon tut?

Bedenke auch, dass du die Caches leeren musst, wenn du am Template Änderungen vorgenommen hast.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich möchte unterhalb des

Eingetragen von jens78 (40)
am 19.06.2016 - 17:20 Uhr

Ich möchte unterhalb des Headers ein Bild ausgeben, welches über die gesamte Seitenbreite geht. Der nodeinhalt selbst ist nur 1180px breit.

Der code im Template sieht so aus:

<div> <h1>Test</h1> {{ content.field_head_img }} </div>

im Quelltext der Seite erscheint aber nur:

<div> <h1>Test</h1>  </div>

Innerhalb des node-content wird das Bild so ausgegeben:

<div data-quickedit-field-id="node/1/field_head_img/de/full" class="float-none field field-node--field-head-img field-name-field-head-img field-type-image field-label-above has-single">
      <h3 class="field__label align-center">head_img</h3>
              <figure class="field-type-image__figure image-count-1 align-center">
          <div class="field-type-image__item">
       
<img src="/sites/default/files/2016-06/image_0.jpg" width="3275" height="1458" alt="image" typeof="foaf:Image" />
</div>
    </figure>
  </div>

Den cache habe ich mit drush cr gelöscht.

  • Anmelden oder Registrieren um Kommentare zu schreiben

jens78 schriebIch habe es so

Eingetragen von glycid (921)
am 21.06.2016 - 08:30 Uhr
jens78 schrieb

Ich habe es so

{{ content.field_head_img }}

versucht, hat aber leider nicht funktioniert.

Das kann auch nicht funktionieren, denn das $content array steht im Page Template gar nicht zur Verfügung. Guck mal in deinem Theme nach der DEINTEHME.theme Datei. Hier müsstest du in einem preprocess_page() hook das Image dem vars array hinzufügen:

DEINTEHME_preprocess_page(&$variables) {
  $variables['field_head_img'] = 'code zum bild holen'; // In D7 wurde das mit field_get_items() gemacht, in D8 hat sich das geändert.  Hier einfach im preprocess_node() gucken, wie der Code ist
}

Im Page Template dann:

{{ field_head_img }}

Alternativ kannste das markup im Template auch direkt ausgeben:

{{'<img src="/pfad/zu/deinem/image.png">'}}

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank für deine

Eingetragen von jens78 (40)
am 21.06.2016 - 10:29 Uhr

Vielen Dank für deine Antwort.

Zitat:

Hier einfach im preprocess_node() gucken, wie der Code ist

Ich habe mir den entsprechenden Code angesehen, komme da aber nicht weiter. Weil ich eigentlich gar nicht verstehe, was dort passiert :-(

/**
* Preprocess variables for node templates.
* @param $variables
*/
function at_core_preprocess_node(&$variables) {
  $theme = \Drupal::theme()->getActiveTheme()->getName();
  $config = \Drupal::config($theme . '.settings')->get('settings');
  $node = $variables['node'];

  // Extension settings
  if (isset($config['enable_extensions']) && $config['enable_extensions'] === 1) {
    if (isset($config['enable_shortcodes']) && $config['enable_shortcodes'] === 1) {
      if (!empty($config['nodetype_classes_' . $node->getType()])) {
        $shortcodes = Tags::explode($config['nodetype_classes_' . $node->getType()]);
        foreach ($shortcodes as $class) {
          $variables['attributes']['class'][] = Html::cleanCssIdentifier($class);
        }
      }
    }
  }

  // Header and Footer attributes.
  $variables['header_attributes'] = new Attribute(array('class' => array()));
  $variables['footer_attributes'] = new Attribute(array('class' => array()));

  // SEE https://drupal.org/node/2004252 or a follow up issue.
  if ($variables['display_submitted']) {

    // Add a class to the header if submitted is active, so we can theme dynamically.
    $variables['header_attributes']['class'][] = 'node__header--has-meta';

    // Initialize new attributes arrays.
    $variables['meta_attributes'] = new Attribute(array('class' => array()));
    $variables['meta_attributes']['class'][] = 'node__meta';

    $variables['submitted_attributes'] = new Attribute(array('class' => array()));
    $variables['submitted_attributes']['class'][] = 'node__submitted';

    // Add a class if author picture is printing.
    // TODO - does this break the entity render cache?
    if ($author_picture = \Drupal::service('renderer')->render($variables['author_picture'])) {
      // TODO - does this fail if twig debugging is on?
      if (!empty($author_picture)) {
        $variables['meta_attributes']['class'][] = 'node__meta--has-author-picture';
      }
    }
  }
}

  • Anmelden oder Registrieren um Kommentare zu schreiben

Lösung

Eingetragen von jens78 (40)
am 24.06.2016 - 15:26 Uhr

Ich hab die Lösung gefunden. Die Felder sind doch im page-Template verfügbar.

Mit diesem Code wird das Bild ausgegeben:

<img src="{{ file_url(node.field_head_img.entity.fileuri) }}"/>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 3 Tagen
  • Hey danke
    vor 1 Woche 3 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 4 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 2 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 2 Tagen
  • Kannst doch auch alles direkt
    vor 2 Wochen 6 Tagen
  • In der entsprechenden View
    vor 2 Wochen 6 Tagen
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 6 Tagen
  • gelöst
    vor 5 Wochen 3 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20451

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 22 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association