Views2 themen
am 11.05.2009 - 19:39 Uhr in
Hallo zusammen,
ich habe heute das erste Mal angefangen eine Seite auf Basis von Drupal6 zu erstellen, da ja doch mittlerweile alles verfügbar ist was es auch zu 5er Zeiten gab.
Jedenfalls habe ich dann doch mittlerweile ein wenig Kopfschmerzen, da ich es warum auch immer nicht hin bekomme Views-Ausgaben richtig zu themen.
Auf Basis meines Views habe ich eine Theme mit Namen views-view-unformatted--Topcontent1.tpl.php (bold = viewname) erstellt, und den Inhalt dieser Datei durch dieses ersetzt:
<?php
// $Id: views-view-unformatted.tpl.php,v 1.6 2008/10/01 20:52:11 merlinofchaos Exp $
/**
* @file views-view-unformatted.tpl.php
* Default simple view template to display a list of rows.
*
* @ingroup views_templates
*/
?>
<?php if (!empty($title)): ?>
<h3><?php print $title; ?></h3>
<?php endif; ?>
<?php foreach ($rows as $id => $row): ?>
<div class="<?php print $classes[$id]; ?>">
<?php print $row; ?>
</div>
<?php endforeach; ?>
So lange ich es so lasse funktioniert auch alles wunderbar. Allerdings will ich jetzt auf jedes Feld einzeln zugreifen, wobei ich nicht für jedes Feld ein Template anlegen will, sondern es geht schon darum das alles in einer Datei stehen soll, da ich das Ganze noch individuell anpassen will.
Im Inhaltstyp (CCK) befinden sich die folgenden Felder:
field_topdesc
field_topbild
field_link
Ferner soll das Titelfeld der Node ausgegeben werden. Wichtig zu erwähnen wäre noch das nur ein Eintrag angezeigt wird, weswegen die "for each"-Schleife eigentlich unnötig ist. Die Ausgabe ist zudem ein Block!
Ich habe mittlerweile einiges ausgetestet, aber jedes mal wenn ich etwas ändere wird gar nichts mehr ausgegeben.
Kann mir da vllt jemand helfen. Ich meine zwar ich hätte auch alles entsprechend den Diversen Anleitungen die es so gibt gemacht, aber offensichtlich dann doch nicht. Bei Views1 war das Ganze meiner Meinung nach wesentlich einfacher, auch wenn diese Variante hier mehr Flexibilität bieten mag.
Ich bedanke mich für etwaige Hilfe im Voraus,
Genesis
- Anmelden oder Registrieren um Kommentare zu schreiben
sollte meiner meinung nicht
am 14.05.2009 - 08:48 Uhr
sollte meiner meinung nicht so schwer sein.
<?php
print $row;
?>
Dort erfolgt der Zugriff auf das tpl File des Feldes. Dort müsstest du also auch die entsprechenden veränderungen vornehmen. Ich würde folgendes vorgehen empfehlen:
- Devel Modul installieren
- über dsm($row) mal schauen, was überhaupt dort drin steht
- Je nach Inhalt von Schritt 2 weiter vorgehen
Hoffe, das hilft.
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
Hallo zusammen, erst einmal
am 19.05.2009 - 06:20 Uhr
Hallo zusammen,
erst einmal dank an dich Rapsli für deine Hilfe. Ich hatte es zwischenzeitlich dran gegeben, weswegen ich das Ganze nicht weiter verfolgt hatte. Allerdings musste es ja eine Lösung geben, welche ich hier kurz hinterlegen will falls es irgendwann jemanden interessiert.
Zunächst einmal sollte beim Anlegen des Views die Darstellung auf "unformatiert" stehen. Danach wie gewohnt alles entsprechend anlegen. Nun findet man unter "Theme - Information" die entsprechenden Template-Vorlagen. Für eine "freie" Darstellung ist der Bereich "Ausgabe des Zeilendesign" entscheidend. Hier legt man dann im Theme-Ordner auch ein entsprechenden Template an, z.B. "views-view-fields--Testansicht.tpl" wenn das View eben Testansicht heißt. Nach dem Hochladen entsprechend die "Vorlagendateien erneut einlesen". Wenn alles richtig ist wird "unser" Template fett hinterlegt.
Nun kann man im Template selbst die Felder ansprechen. Beispiel: Will man nur das Feld test ausgeben, welches man z.B. mit CCK angelegt hat dann lautet die Eingabe
<?php
print $fields['field_test_value']->content;
?>
Es gibt noch diverse andere Ausgabemöglichkeiten, aber ich denke das muss ich hier niemandem erklären. Die entsprechenden IDs (
<?php
print $fields['field_ID']->content;
?>
Im Grunde alles ganz simpel wenn man weiß wie. :) Dank an dieser Stelle noch mal an Rapsli und merlinofchaos der mir auf der offiziellen Seite sehr geholfen hat. :)
Grüße vom,
Genesis