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

Eigenes Node Template Feldinhalte werden nicht angezeigt?

Eingetragen von mamboklaus (14)
am 07.01.2013 - 16:07 Uhr in
  • Themes & Theming
  • Drupal 7.x oder neuer

Liebe Druaplgemeinde,
bin relativ neu, aber dennoch schon recht weit:-)
Habe:
-Inhaltstyp erfolgreich angelegt
-ein passendes node tmpl erzeugt
- wird auch vom inhaltstyp gefunden und genutzt
habe bei dem entsprechendem Inhaltstyp vers. Felder, so z.B.:
Vorname --> field_vorname
Nachname--> field_nachname
Bild--> field_bild
in meinem name--node.tpl.php
möchte ich die Felder ausgeben und mache das so:

<?php
print render($field_nachname);
?>

ergebniss: nix wird angezeigt

mache ich es so:

<?php
print $field_nachname;
?>

kommt als Ausgabe Array
ich in ein wenig verunsichert .. wo mache ich den Fehler????
kann mir jemand Tips oder links geben die mir weiterhelfen könnten?

Danke
Klaus

‹ Kommentar-Struktur Fehler meldung bei Aktivierung eines selbsterstellten Templates (Theme) mit Artisteer ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Warum nutzt Du nicht Display

Eingetragen von Helrunar (194)
am 07.01.2013 - 19:54 Uhr

Warum nutzt Du nicht Display Suite?

http://drupal.org/project/ds

  • Anmelden oder Registrieren um Kommentare zu schreiben

Gelöst

Eingetragen von mamboklaus (14)
am 07.01.2013 - 19:55 Uhr

uff, selber gelöst... richtig ist:

<?php
print render($content['field_nachname']);
?>

kaum macht man es richtig = alles in butter:-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Kleiner Hinweis noch, der

Eingetragen von Genesis (597)
am 07.01.2013 - 20:03 Uhr

Kleiner Hinweis noch, der Vollständigkeit halber - Ich würde, auch zur Sicherheit und konsequenteren Umsetzung für die Zukunft, immer auch abfragen, ob überhaupt etwas im Feld ist. Das kann dazu führen, dass Drupal versucht Felder dazustellen, die eventuell gar nicht gefüllt sind, und dann gibt es Fehlermeldungen. Alternativ kannst du so auch einen else-Fall mit einbauen. Ich gebe Felder eigentlich immer so aus, wobei man das natürlich z.B. bei multi-value-Feldern anpassen muss/kann:

<?php if (!empty($field_nachname)): ?>
    <?php print $content['field_nachname']['#items']['0']['value']; ?>
<?php else: ?>
   &nbsp;
<?php endif; ?>

Oder einfach:

<?php if (!empty($field_nachname)): ?>
    <?php print $content['field_nachname']['#items']['0']['value']; ?>
<?php endif; ?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

DANKE!

Eingetragen von mamboklaus (14)
am 07.01.2013 - 20:17 Uhr

... klappt prima!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Eine andere Möglichkeit - mit

Eingetragen von oteno (775)
am 07.01.2013 - 21:14 Uhr

Eine andere Möglichkeit - mit einigen Vorteilen - ist die Benutzung der field_view_field() Funktion:

if (field_view_field('node', $node, 'field_nachname')):
print render (field_view_field('node', $node, 'field_nachname'))
endif;

Erstens gibt es des öfteren Probleme, wenn man ein Array auf empty abfragt,
Zweitens ist es dann egal, ob das Feld im Inhaltstyp auf visible eingestellt ist,
Drittens hat man den komfortableren Zugriff, z.B auf Formate:
<?php
render
(field_view_field('node', $node, 'field_image', array('settings' => array('image_style' => 'my_style'))));
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Da merkt man mal wieder, dass

Eingetragen von Genesis (597)
am 07.01.2013 - 21:17 Uhr

Da merkt man mal wieder, dass ich kein Coder bin. Aber so habe ich auch noch was gelernt. :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

wusst ich doch - lg ;)

Eingetragen von oteno (775)
am 07.01.2013 - 21:21 Uhr

wusst ich doch - lg ;)

  • Anmelden oder Registrieren um Kommentare zu schreiben

oh Mann, ich wünschte ich check das:-(

Eingetragen von mamboklaus (14)
am 07.01.2013 - 21:48 Uhr

Ich habe folgendes tpl erzeugt, (asl muster, damit ich sehe was estut, und? es tut sich was komisches!
die ersten drei /Titel/Vorname/nachname) werden angezeigt, Vita und das Bild nicht :-( warum wohl???? ich check das nich, grübel

Titel: <?php
print $node_url;
?>
" rel="bookmark" rel="nofollow">

<?php
print $title;
?>



Vorname:
<?php
if (!empty($field_nachname)):
?>

<?php
print $content['field_nachname']['#items']['0']['value'];
?>

<?php
else:
?>

 
<?php
endif;
?>



Nachname:
<?php
if (!empty($field_vorname)):
?>

<?php
print $content['field_vorname']['#items']['0']['value'];
?>

<?php
else:
?>

<?php
endif;
?>


Vita:

<?php
if (!empty($field_vita)):
?>

<?php
print $content['field_vita']['#items']['0']['value'];
?>

<?php
else:
?>

<?php
endif;
?>


Bild:

<?php
if (!empty($field_bild)):
?>

<?php
print $content['field_bild']['#items']['0']['value'];
?>

<?php
else:
?>

<?php
endif;
?>


  • Anmelden oder Registrieren um Kommentare zu schreiben

für das Bild:print

Eingetragen von oteno (775)
am 07.01.2013 - 22:38 Uhr

für das Bild:
print render($content['field_bild'])
benutzen.
Das Array ist ganz anders aufgebaut...
Um zu verstehen, worum es geht, kannst du Dir mal das Devel Modul http://drupal.org/project/devel installieren, damit kannst Du die einzelnen Elemente "inspizieren"
[EDIT]
Drupal stellt sogenannte render-Arrays http://drupal.org/node/930760 zur Verfügung
Das hast vorher zwei verschieden Ansätze genützt:
a) mit print $content['field_bild']['#items']['0']['value']; hast Du direkt auf den Wert des Keys "value" zugegriffen.
b) mit print render($content['irgendeinfeld']) greifst Du auf die render() Funktion zu (dir wiederum die drupal_render() aufruft), welche das Render-Array ($content['irgendeinfeld']) rekursiv durchgeht und für die Anzeige aufbereitet. http://api.drupal.org/api/drupal/includes!common.inc/function/drupal_render/7 - dir also meist die Arbeit abnimmt...

  • 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 21 Stunden
  • Hey danke
    vor 1 Woche 1 Tag
  • Update: jetzt gibt's ein
    vor 1 Woche 2 Tagen
  • Hallo, im Prinzip habe ich
    vor 1 Woche 6 Tagen
  • Da scheint die Terminologie
    vor 1 Woche 6 Tagen
  • Kannst doch auch alles direkt
    vor 2 Wochen 4 Tagen
  • In der entsprechenden View
    vor 2 Wochen 4 Tagen
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 4 Tagen
  • gelöst
    vor 5 Wochen 18 Stunden
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 1 Tag

Statistik

Beiträge im Forum: 250233
Registrierte User: 20450

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 19 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