Serienübersicht mit Views
am 26.12.2009 - 17:14 Uhr in
Hi,
ich habe ein etwas verzwicktes und ich komme nicht auf die Lösung dafür, da ich noch recht neu in Drupal bin, warscheinlich ein purer Anfängerfehler...
Ich versuche auf meiner Testinstallation eine Serienübersicht aufzubauen, nach einem Design was ich schon lange vorher mal ohne Drupal gemacht habe.
Habe den Contenttype "Serie" erstellt, dieser beinhaltet halt einige Informationen zu Anime-Serien etc.
Diese möchte ich in einer Übersicht ordentlich untereinander darstellen, halt nur den Titel und das Feld mit der Anzahl der Episoden..
Die Zeile soll dann auf den node mit den Details verlinken..
In meinen früheren Templates (alles noch bevor ich Drupal kannte) hab ich Zeile für Zeile immer in etwa so ausgegeben:
<div class="c62l"><a href="__link_zur_detailseite__" title="__titel__">__titel__</a></div>
<div class="c38r">__Episodenanzahl</div>
Bitte nicht über die Klassen wundern, diese sind aus YAML-CSS-Framework stammend.
So wies am Ende aussehen soll: (noch alles vor Drupal)
http://omega.aniwood.org
Daran arbeite ich gerade: (Drupal-Testinstanz)
http://pi.aniwood.org
Ich denke ich bin dem Ziel nichtmehr so fern, aber immernoch nicht weit genug ums aus dem Stehgreif umzusetzen und zu verstehen was für eine tpl.php ich anlegen muss etc..., besonders der View für die Serien-Übersicht macht mir zu schaffen...
Die Templates für die Nodes des Typs Serie hab ich soweit fertig und hatte daher schon ein kleines Erfolgserlebnis :)
Aber Ich schaffe es nicht per View und tpl.php die Ausgabe der View-Zeilen nach meinen Wünschen zu formen...
Drupal zeigt mir dann in dem View immer den kompletten Node an... was da irgendwie blöd ausschaut ;)
Würde mich freuen wenn mir jemand etwas Hilfestellung leisten könnte.
Vielen Dank im Vorraus!
Viele Grüße
~Ryu
- Anmelden oder Registrieren um Kommentare zu schreiben
Im View unter Basic nicht
am 26.12.2009 - 18:18 Uhr
Im View unter Basic nicht Node nehmen sondern Felder. Die Darstellung dann als Tabelle und nur die Felder Titel und Episodenzahl ausgeben. Die Ausgabe von den Anfangsbuchstaben mit den entsprechenden Links ist nicht ganz so einfach, wurde aber in Forum schon öfter behandelt. Einfach mal suchen.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Hallo Werner, danke schonmal
am 27.12.2009 - 00:15 Uhr
Hallo Werner, danke schonmal für deine schnelle Antwort!
Mir gehts mehr darum das HTML drumrum gesamt selbst anpassen zu können, sodass ich theoretisch mein Template dafür weiterbenutzen kann, dazu kommen nämlich noch ein paar eigene Klassen und Attribute wie zB das rel="" für jTip für die feine Serienvorschau.
Kannst du mir sagen was ich genau dafür tun müsste, wie die .tpl.php heissen sollte und wie ich die Variablen dareinbekomme? Kenne bisher nur das $node->field_name...
Viele Grüße
~Ryu
Views templates
am 27.12.2009 - 11:38 Uhr
Hallo.
Bei Views kannst Du so ziemlich jede Ausgabe über spezielle Templates anpassen. Views hat da eine schäne Übersicht, welche Templates Du für Deine Ausgabe verwenden kannst (und wie die Dateien dann heissen) müssen.
Klick mal beim Bearbeiten des Views auf "Theme Information" (siehe Bild). Dort bekommst Du dann die möglichen Templates.
Du kopierst Dir dann das Basistemplate aus dem Verzeichnis "theme" des Moduls Views in Dein Theme-Verzeichnis, benennst sie entsprechend um und machst dann Deine Änderungen.
Ich vermute mal, die views-view-fields.tpl.php wird Dir ein grosses Stück weiterhelfen.
hth,
Stefan
--
Sei nett zu Deinem Themer!
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Eine andere Option ist dann
am 27.12.2009 - 14:33 Uhr
Eine andere Option ist dann noch bei Feldern gegeben. Du kannst bei jedem Feld die Ausgabe umschreiben (der Feldinhalt kann dabei über Tokenfelder angesprochen werden). Dabei hast Du auch die Möglichkeit Divs und sonstige HTML-Tags einzusetzen. Damit bist Du da, wo Du hin wolltest.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Vielen Dank! :) Werde das
am 28.12.2009 - 09:06 Uhr
Vielen Dank! :)
Werde das gleich mal ausprobieren.
Andere Frage wäre, ob ich den View nicht theoretisch genauso themen könnte wie jeden anderen Node..
Sodass ich halt Zugriff auf die $node->fields_ habe. Wäre für mich ein nettes Nice-to-know :)
Danke für die tolle Unterstützung!
Grüße
~Ryu
Du kannst jede Ansicht
am 28.12.2009 - 09:19 Uhr
Du kannst jede Ansicht (View) individuell themen, wozu es diverse Templates, bzw. Anordungen gibt. So kannst du auch auf jedes Feld was durch deinen View ausgegeben wird zugreifen. Schau dir dazu mal diese Anleitung an: Views 2 theming
Grüße vom,
Genesis
Da ist er wieder :) Danke
am 29.12.2009 - 00:21 Uhr
Da ist er wieder :)
Danke für die viele Hilfe, das ganze nimmt langsam die gewünschten Formen an, auch wenn ich schon wieder seit stunden trotz dem Views2-Theming Tutorial nicht voran komme...
Habe nun die Templates soweit dass mir nurnoch ganz plain und ohne die ganzen DIVs und SPANs die Felderinhalte ausgegeben werden...
Nun möchte ich das Feld mit dem Titel auf den dazugehörigen Node verlinken, aber halt auch den a-Tag weiter anpassen und zum Beispiel für jTip ein rel-Attribut hinzufügen etc.
Wie füge ich in das Template views-view-field--Serien-uebersicht.tpl.php den link zum Node per Variable ein, was muss ich reinsetzen?
Alle meine Versuche mit $field und $fields sind gescheitert und geben meistens garnichts aus :/
Also wenn ich dich nun
am 29.12.2009 - 09:22 Uhr
Also wenn ich dich nun richtig verstanden habe willst du dem Titel-Link eine Klasse hinzufügen?
Es gibt bestimmt eine Möglichkeit den Link entsprechend anzuzeigen. Da ich keine Ahnung von PHP habe würde ich es so machen: Gebe in deinem View den Node-Titel als reinen Text (ohne Link) aus und zusätzlich die NID. Dann kannst du dir deinen Link selbst zusammen setzen:
<a href="node/{nid}" class="meineKlasse">{Node-Titel}</a>
Vllt nicht das Optimum, aber ich bin so immer gut klar gekommen. :)
Grüße vom,
Genesis
Mmmh, ja im moment habe ich
am 29.12.2009 - 16:27 Uhr
Mmmh, ja im moment habe ich das ganze so auch im View mit dem Umschreiben drin.
Würde das nur lieber in das Template in meinem Theme packen weil ich das ungern allgemein gültig machen möchte..
Du hast Variablen mit geschleiften Klammern verwendet, waren die jetzt nur als Beispiel oder findet das bei Views verwendung und ich habs nur nicht gesehn?
Ich bekomme es eben nur nicht hin in der field.tpl.php für mein Titelfeld noch die nid mit ins Template auszugeben. Bekomme es einfach nicht raus in welcher Variable das stecken soll und wie ichs herkrieg =/
Also bei der Variable kann
am 29.12.2009 - 16:34 Uhr
Also bei der Variable kann ich dir als PHP-Noob leider nicht helfen, vllt mal Devel installieren und genauer ansehen.
Das mit den geschweiften Klammern ist nur Beispielhaft, ist nicht wirklich so. :)
Hmmmm... Devel bereits
am 29.12.2009 - 19:43 Uhr
Hmmmm... Devel bereits installiert, mag mir aber nichts anzeigen... oder stelle mich zu dumm an, letzterem bin ich mir leider sicher ;)
Dann versuchs mal mit dem
am 29.12.2009 - 20:14 Uhr
Dann versuchs mal mit dem Theme Developer im Devel Module (hat ein eigenes Häkchen). Achtung, immer wieder ausschalten wenn es nicht mehr gebraucht wird, weil es mitunter häßliche Nebeneffekte gibt, aber für die Untersuchung der Datenstruktur in der Ausgabe ist es gut zu gebrauchen.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Super, es klappt! :) Habe
am 30.12.2009 - 20:20 Uhr
Super, es klappt! :)
Greife mir nun in der fields.tpl.php für den View auf die $row-Variable zu und hole da meine Feldinhalte raus, das klappt super.
Ein nächster Schritt für meine Seriendetails wären Screenshots die zu einer Serie gehören,
was wäre der Drupal-Way den man gehen würde?
Würde man einen Content-Type für Screenshots erstellen, diese jeweils einer Serie zuordnen, oder direkt bei den Seriendetails ein (evtl. in der Anzahl unbegrenztes) Imagefield per CCK erstellen?
Ich bin wirklich übelst positiv überrascht hier so schnell so tolle Hilfe zu bekommen :)
Hoffe mich auch bald effektiv einbringen zu können :)
Viele Grüße
Thomas
imagefield
am 31.12.2009 - 00:33 Uhr
Würde man einen Content-Type für Screenshots erstellen, diese jeweils einer Serie zuordnen, oder direkt bei den Seriendetails ein (evtl. in der Anzahl unbegrenztes) Imagefield per CCK erstellen?
Letzteres in Verbindung mit ImageCache.
hth,
Stefan
--
Sei nett zu Deinem Themer!
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Frohes Neues Jahr! :)
am 02.01.2010 - 01:53 Uhr
Es klappt wunderbar! :))
Ich hör hier garnimmer auf mich zu bedanken :)
Wünscher euch allen ein frohes Neues Jahr =)
Ich möchte meinen Serien eine Auflistung von Downloads hinzufügen,
da jeder Downloadlink zusätzlich zeigen soll in welchem Format der Trailer herunterladbar ist werd ich wohl einen Content-Type draus machen,
der dann halt ein entsprechendes Zusatzfeld hat und irgendwie der Serie zugeordnet wird.
Wie bekomme ich dann diese Zuordnung hin und wie zeige ich dann alle Downloadlinks zu den Trailern der Serie in dem Node der Serie an?