it-swarm.com.de

Wie greife ich auf ein Feld in der Ansichtsvorlage zu?

Ich versuche, von der Vorlage views-view-field - title.tpl auf ein anderes Feld zuzugreifen ...

Ich habe diesen Code:

<?php print $output;
  print $row->{$view->field['field_NAME']->field_alias};
 ?>

Aber es zeigt mir nur eine Zahl .. (1,2,3,4,5, ....)

Kann mir jemand helfen?

Vielen Dank!

6
Dzoni

Ich würde vorschlagen, dass Sie das Entwicklungsmodul auf Ihrer drupal Site) aktivieren (hoffentlich keine Produktionsversion ;-). Sobald Sie dieses Modul aktiviert haben, können Sie es Verwenden Sie die Funktion dsm () innerhalb von PHP-Tags in Ihren Vorlagen, um die Variablen, die in jeder Vorlage enthalten sind, detailliert zu überprüfen!

Aktivieren Sie also das Entwicklungsmodul und fügen Sie Ihrer Vorlagendatei Folgendes hinzu:

<?php dsm($view->field['field_NAME']); ?>

Leeren Sie Ihren Cache und gehen Sie zu einer Seite, die eine Ansicht enthält ... Die Funktion dsm () sollte Ihr Objekt im Abschnitt "Hilfe" Ihrer Seite ausgeben:

enter image description here

Klicken Sie einfach auf das Objekt und überprüfen Sie alle verfügbaren Felder. Sie werden sehen, dass das, was mit der Eigenschaft 'field_alias' zurückgegeben wird, nur die NID dieses Knotens ist ...

Da Sie nicht angegeben haben, was Sie mit dem zusätzlichen Feld erreichen möchten, kann ich nicht genauer sein, aber hoffentlich können Sie beim Stöbern herausfinden, wie Sie zu den Feldeigenschaften gelangen, die Sie benötigen. Lassen Sie uns wissen, wenn Sie es herausfinden!

p.s. Da die Feldvorlage "Titel" für jede in Ihrer Ansicht angezeigte Zeile aufgerufen wird, erhalten Sie dieses Feldobjekt mehrmals - einmal für jedes Mal, wenn die Vorlage aufgerufen wurde.

5

Ich hatte genau das gleiche Problem, ich habe die Variable $ row damit untersucht

foreach ($row as $key => $value)
{
   print $key;
   print " : ";
   print $value;
   print "<br>";
}

bis ich das hatte

foreach ($row->field_field_link_text[0]["rendered"] as $key => $value)
{
   print $key;
   print " : ";
   print $value;
   print "<br>";
}

Was mir endlich die Antwort gab, nach der ich gesucht hatte:

$row->field_field_link_text[0]["rendered"]["#markup"]
2
Ray Hulha

Ich wünschte ich hätte das schon mal gewusst :-)

I wish I had known about this before :-)

1
Ray Hulha