Ausgabe einer Views optisch anpassen
am 29.03.2010 - 19:03 Uhr in
Hallo Freunde von Drupal :-)
Ich habe mir jetzt einiges hier zum Themen von Views durchgelesen und denke, dass ich auch schon einiges dazu gefunden habe. Ich würde gerne mal kurz mein Vorgehen skizzieren und meine erdachte Lösung beschreiben, sowie meine Ungewissheiten. Wäre klasse, wenn da nochmal ein Profi drüber gucken könnte.
- Ich habe eine View erstellt "MeineView"
- Diese View hat eine Seite und soll dort mehrere Werte in einer Tabellenform darstellen
Ich will jetzt zum Üben mal folgendes machen. Ich will praktisch eine Tabelle mit CCS designen und Werte, die die Abfrage der View gibt, schick auf einer Seite darstellen. Da ich schon von Feldern gesprochen habe, denke ich, dass ich das File views-view-fields--MeineView.tpl.php benutzen muss/kann. Denn darin kann ich folgendes finden.
/**
* @file views-view-fields.tpl.php
* Default simple view template to all the fields as a row.
*
* - $view: The view in use.
* - $fields: an array of $field objects. Each one contains:
* - $field->content: The output of the field.
* - $field->raw: The raw data for the field, if it exists. This is NOT output safe.
* - $field->class: The safe class id to use.
* - $field->handler: The Views field handler object controlling this field. Do not use
* var_export to dump this object, as it can't handle the recursion.
* - $field->inline: Whether or not the field should be inline.
* - $field->inline_html: either div or span based on the above flag.
* - $field->separator: an optional separator that may appear before a field.
* - $row: The raw result object from the query, with all data it fetched.
*
* @ingroup views_templates
*/
Ist es jetzt meine einzige Aufgabe das File views-view-fields--MeineView.tpl.php anzupassen? Also den Bereich
<?php foreach ($fields as $id => $field): ?>
<?php if (!empty($field->separator)): ?>
<?php print $field->separator; ?>
<?php endif; ?>
<<?php print $field->inline_html;?> class="views-field-<?php print $field->class; ?>">
<?php if ($field->label): ?>
<label class="views-label-<?php print $field->class; ?>">
<?php print $field->label; ?>:
</label>
<?php endif; ?>
<?php
// $field->element_type is either SPAN or DIV depending upon whether or not
// the field is a 'block' element type or 'inline' element type.
?>
<<?php print $field->element_type; ?> class="field-content"><?php print $field->content; ?></<?php print $field->element_type; ?>>
</<?php print $field->inline_html;?>>
<?php endforeach; ?>
so zu ändern wie ich die Ausgabe haben will?
Was mir jetzt noch fehlt/unkar ist:
- Ich habe jetzt bspw. ein eigenes CSS File für nur diese eine Viewausgabe. Wo wird das referenziert?
- Der Inhaltstyp den ich darstellen möchte (bspw. ein Blog mit zusätzlich einem CCK Feld eines Bildes), ist doch dann durch meine gebaute Views in dem Array fields drin. Also praktisch jede Zeile, die ich per SQL bekomme wird einmal in der foreach Schleife durchgenudelt. Das Bild ist dann doch bestimmt nur als Pfadangabe wo das Bild zu finden ist abgelegt?! Muss ich dann wissen, an welcher Stelle das Bild kommt oder kann man das abfragen?
Besten Dank!
Sebastian
- Anmelden oder Registrieren um Kommentare zu schreiben
Die CSS einfach über
am 30.03.2010 - 09:04 Uhr
Die CSS einfach über [thema name].info die CSS einbinden oder die Anweisungen einfach in die bestehende CSS schreiben.
Kleiner Tipp: Bei deiner View
am 30.03.2010 - 12:03 Uhr
Kleiner Tipp: Bei deiner View findest du irgendwo unten "Theme: Information", dort kannst du nachlesen, welche tpl.php du für welchen Zweck brauchst und wie du sie evtl. umbenennen musst bzw. kannst, damit die Anpassungen speziell zu dieser View gehören.
Und zum Themen selbst bietet sich stark Firefox mit Firebug-Addon an ;-)
Hallo zusammen, docmiller
am 30.03.2010 - 12:16 Uhr
Hallo zusammen,
Die CSS einfach über [thema name].info die CSS einbinden oder die Anweisungen einfach in die bestehende CSS schreiben.
vielen Dank, das werde ich ausprobieren.
Kleiner Tipp: Bei deiner View findest du irgendwo unten "Theme: Information", dort kannst du nachlesen, welche tpl.php du für welchen Zweck brauchst und wie du sie evtl. umbenennen musst bzw. kannst, damit die Anpassungen speziell zu dieser View gehören.
Und zum Themen selbst bietet sich stark Firefox mit Firebug-Addon an ;-)
Ja genau, meinen Namen habe ich auch aus der Theme: Information, das finde ich da alles sehr praktisch und auch das Firebug Addon tut seinen Dienst und hat mir gestern ordentlich beim Designen geholfen.
Ich muss jetzt nur noch irgendwie an ein beliebiges Icon kommen, welches ich dem Beitrag zuordne, welches aber beim normalen betrachten des Beitrags nicht sichtbar ist, ich denke dann ist es geschafft. Ich habe auch schon mein extra per CCK angelegtes Feld unter dem Field "Inhalt" beim View erstellen gefunden. Ich denke, ich werde das einfach mal ausprobieren, das in die View zu bekommen. Wenn es klappt melde ich mich mit Ergebnis, wenn nicht, sowieso noch mal :-)
Danke euch allen für die Hilfe!
Sebastian
--- Web | Twitter | XING ---