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 - 13: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 - 15: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 - 21: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 19.09.2018 - 23: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 - 06: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 - 12: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 - 19: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 20.09.2018 - 23: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

  • Rolle erstellen nicht zu finden
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • 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
Weiter

Neue Kommentare

  • Rollen
    vor 1 Stunde 53 Minuten
  • Inzwischen sind wir bei
    vor 1 Woche 3 Tagen
  • Migrieren von D7 auf D8/ D10/ D11
    vor 1 Woche 4 Tagen
  • melde mich mal wieder, da ich
    vor 9 Wochen 1 Tag
  • Hey danke
    vor 9 Wochen 2 Tagen
  • Update: jetzt gibt's ein
    vor 9 Wochen 3 Tagen
  • Hallo, im Prinzip habe ich
    vor 10 Wochen 13 Stunden
  • Da scheint die Terminologie
    vor 10 Wochen 16 Stunden
  • Kannst doch auch alles direkt
    vor 10 Wochen 4 Tagen
  • In der entsprechenden View
    vor 10 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250237
Registrierte User: 20463

Neue User:

  • ocvk2810
  • marouane.blel
  • capilclinic

» 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