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

[gelöst] Ausgabe eines Feldes: Key statt Bezeichner

Eingetragen von AlexFfm (22)
am 19.09.2018 - 14:21 Uhr in
  • Themes & Theming
  • Drupal 7.x

Hallo,

ich stehe etwas auf der Leitung:

Ich habe in einem Content-Type ein zusätzliches Feld 'field_title_position' als 'Liste (Text)' mit mehreren Werten 'schlüssel1|Bezeichnung 1', schlüssel2|Bezeichnung 2' usw. angelegt.

Um den Wert des Feldes auszugeben, habe ich zunächst in der page.tpl.php folgendes eingefügt:

<?php
                       
if(isset($node->field_title_position)) {
                        
$field = field_get_items('node', $node, 'field_title_position');
                        
$fieldContent = field_view_value('node', $node, 'field_title_position', $field[0]);
                         print
render($fieldContent);
                       }
                             
?>

Als Ergebnis wird die Bezeichnung des ausgewählten Wertes ausgegeben; benötigt wird aber der Schlüssel.

Wenn ich die Zeile

$fieldContent = field_view_value('node', $node, 'field_title_position', $field[0]);

ergänze in

$fieldContent = field_view_value('node', $node, 'field_title_position', $field[0]['value']);

wird zwar der Schlüssel angesprochen, allerdings nur dessen erster Buchstabe ausgegeben (also 's' statt 'schlüssel1').

Was muss ich ändern/ergänzen, damit der vollständige Schlüssel ausgegeben wird? Oder ist der eingeschlagene Weg insgesamt falsch, und in Drupal ist für diesen Fall eine andere Lösung vorgesehen?

Falls jemand einen Tipp hat, wäre ich sehr dankbar!

‹ Zymphonies - Builder multipurpose theme anders wie in Demo - Version [gelöst] Ausgabe eines Feldes: Key statt Bezeichner ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

dsm($field[0]['value']); Lief

Eingetragen von torfnase (1525)
am 19.09.2018 - 16:30 Uhr

dsm($field[0]['value']);

Liefert doch den gewählten Schlüssel.

Gruß
Berthold

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hilft leider nicht weiter

Eingetragen von AlexFfm (22)
am 19.09.2018 - 22:57 Uhr
torfnase schrieb

dsm($field[0]['value']);

Liefert doch den gewählten Schlüssel.

Gruß
Berthold

Vielen Dank für den hilfreichen Hinweis.

dsm($field[0]['value']);
zeigt den Schlüssel völlig korrekt an.

Beim Aufruf, wie oben beschrieben, mit field_view_value('node', $node, 'field_title_position', $field[0]['value'], wird jedoch der Schlüssel (String) wieder auf das erste Zeichen gekürzt.

  • Anmelden oder Registrieren um Kommentare zu schreiben

neebei mir sieht das so aus

Eingetragen von torfnase (1525)
am 20.09.2018 - 00:25 Uhr

nee
bei mir sieht das so aus...
unten hast du den PHP-Code und oben die drei Ausgaben.

Gruß
Berthold

AnhangGröße
bild3.PNG 32.92 KB
  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank, aber...

Eingetragen von AlexFfm (22)
am 20.09.2018 - 07:33 Uhr

Hallo Berthold,

erst mal herzlichen Dank für deine Mühe!

Ich habe deinen Code auf einer neuen Seite noch mal 1:1 umgesetzt, und es sieht genauso aus. Soweit fein.

ABER:

Ich möchte als Ergebnis nicht den Bezeichner "Bezeichnung 1", sondern den Schlüssel "schlüssel1" ausgeben, und genau an dieser Stelle scheitere ich dann wieder:

ich dachte, das wäre durch den Zusatz ['value'] zu erreichen, so dass also die dritte Zeie deines PHP-Code lauten würde:
$fieldContent = field_view_value('node', $node, 'field_title_position', $field[0]['value']);

Das funktioniert aber nicht, das Ergebnis ist immer nur der erste Buchstabe des Wertes, bei dem Wert "schlüssel1" also "s".

Ich bitte, meine Ahnungslosigkeit zu entschuldigen... sowas passiert, wenn mann sowas Tolles wie Drupal quasi nur hobbymäßig anwendet.

Beste Grüße
Alex

  • Anmelden oder Registrieren um Kommentare zu schreiben

AlexFfm schrieb Das

Eingetragen von torfnase (1525)
am 20.09.2018 - 13:12 Uhr
AlexFfm schrieb

Das funktioniert aber nicht, das Ergebnis ist immer nur der erste Buchstabe des Wertes, bei dem Wert "schlüssel1" also "s".

Du siehst doch an meinem kleinen Programmschnippsel, dass die Ausgabe in der Tat schlüssel1 und Bezeichner 1 ist.

Es ist nicht so wie du sagst, dass dort nur ein "s" ausgegeben wird.

Es kann nur sein, dass du etwas bei der Ausgabe falsch machst.

Gruß
Berthold

  • Anmelden oder Registrieren um Kommentare zu schreiben

Noch mal zum Verständnis

Eingetragen von AlexFfm (22)
am 20.09.2018 - 20:06 Uhr

Dass ich was bei der Ausgabe falsch mache, davon gehe ich aus. Und dank Deiner Hilfe verstehe ich auch, was (zumindest glaube ich es):

Ich hatte angenommen, dass man mit der Funktion "field_view_value('node', $node, 'field_title_position', $field[0]['value']);" den Schlüssel bekommt. Aber das ist offenbar falsch, scheinbar hat ['value'] an der Stelle nichts zu suchen.

print render($fieldContent) ermöglicht es bei deinem Code, den Bezeichner auszugeben.

Um stattdessen den Schlüssel auszugeben, ist "print render($field[0]['value'])" der richtige Weg? Zumindest scheint es zu funktionieren.

Auf jeden Fall habe ich einiges dazugelernt - besten Dank noch mal für die Hilfe!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Um stattdessen den Schlüssel

Eingetragen von torfnase (1525)
am 21.09.2018 - 00:34 Uhr

Um stattdessen den Schlüssel auszugeben, ist "print render($field[0]['value'])" der richtige Weg?

Ja natürlich ist das der richtige Weg. Du kannst aber auch das render weglassen, wenn es sich nur um einen einfachen String handelt.

Gruß
Berthold

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Canvas Palette: Eine fertige Komponentenbibliothek für Drupal Canvas
  • Hilfe zu Updates oder Composer
  • Vergleich Drupal und Contao
  • [geloest] Blocks in Bootstrap nebeneinander darstellen und nicht untereinander
  • DrupalCamp Frankfurt 27-28 November 2026
  • Bitte mein Bentzerkonto löschen
  • Beim Aufruf einiger Inhalte erhalte ich folgende Fehlermeldung
  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
Weiter

Neue Kommentare

  • Danke ich werde mir die
    vor 3 Tagen 4 Stunden
  • Vielen Dank für Ihren
    vor 5 Tagen 22 Stunden
  • Composer ist sehr ratsam
    vor 1 Woche 22 Stunden
  • Vielen Dank für den
    vor 1 Woche 3 Tagen
  • Die alten CMS Vergleiche von contentmanager.de
    vor 1 Woche 3 Tagen
  • Gut gemacht
    vor 1 Woche 3 Tagen
  • Layout Builder etc. z.B. für Landing Pages
    vor 1 Woche 3 Tagen
  • Links
    vor 1 Woche 6 Tagen
  • Moin,wow, sehr gutes
    vor 2 Wochen 12 Stunden
  • Dass ist eine spannende
    vor 2 Wochen 19 Stunden

Statistik

Beiträge im Forum: 250316
Registrierte User: 20562

Neue User:

  • rofilm
  • Cruzorerm
  • Plandkeews

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 18 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