Blockausgabe themen..
Eingetragen von Sawascwoolf (125)
am 25.06.2010 - 17:29 Uhr in
am 25.06.2010 - 17:29 Uhr in
Hallo Forum...
Ich würde gerne die Ausgabe eines Blockes (per Views) selbst gestalten.
Ich habe in der block.tpl.php schon eine Weiche gebaut und nun mal testweise die Variable $block->content per var_dump dort ausgegeben.
Jedoch ist in dieser Variable schon der gesamte Quellcode reingepackt statt einzelner mit Werten gefüllten Variablen.
Gibt es eine Möglichkeit die Ausgabe anzupassen bevor die Werte in html verpackt werden oder muss ich mir das mühsam per php zerlegen?
- Anmelden oder Registrieren um Kommentare zu schreiben
Ausgabe Block selber gestalten
am 26.06.2010 - 07:55 Uhr
Hallo,
um die Ausgabe eines Blocks über view zu themen, bietet sich die Einstellung "Rewrite the output of this field" an. Damit kannst du jedes Feld der Datenbank ansprechen, z.B.
< h 3 >[ title ]< /h3 >
< p >[ teaser ]< /p >
< p class="linkweiter" >[ view_node ]< /p >.
Leerschritte oben nicht eingeben!
Mhh...das ist leider nicht
am 26.06.2010 - 18:13 Uhr
Mhh...das ist leider nicht ganz das was mir vorschwebt... da ich schon mit php noch weitere Sachen themen möchte.
Also ich zeige in dem View Ergebnisse von Handballspielen aus und möchte die Siegermannschaft und die Anzahl derer Tore Fett gedruckt darstellen.
Das ist so leider nicht möglich...
Computerboard da wird dir geholfen
Sawascwoolf schrieb Mhh...das
am 26.06.2010 - 18:49 Uhr
Mhh...das ist leider nicht ganz das was mir vorschwebt... da ich schon mit php noch weitere Sachen themen möchte.
Also ich zeige in dem View Ergebnisse von Handballspielen aus und möchte die Siegermannschaft und die Anzahl derer Tore Fett gedruckt darstellen.
Das hört sich allerdings nicht mehr nach VIEWS Theming an, sondern nach ganz banalem CSS! Drupal bietet für jedes Feld eine Unmenge an CSS Klassen. Du kannst doch jedes entsprechende Feld aus einem View mit der Anweisung "bold" einfetten!
Falls es doch "echtes" VIEWS Theming werden soll, dann empfehle ich die beiden Video Podcasts unter http://www.mustardseedmedia.com zu dem Thema!
Drupal 7 Screencasts in deutsch!
Das Problem ist
am 26.06.2010 - 23:19 Uhr
Das Problem ist folgendes:
Ich gebe sagen wir mal die letzten 5 Spiele aus.
das sieht dann z.B. so aus:
Team A - Team B 26:22 (heim)
Team A - Team C 30:35 (auswärts)
Team A - Team D 28:31 (heim)
............
................
Jedes Feld ist ein eigenes Datenbankfeld
Feld 1: eigene Mannschaft
Feld 2: gegnerische Mannschaft
Feld 3: Tore eigene Mannschaft
Feld 4: Tore gegnerische Mannschaft
Nun möchte ich Erreichen, dass:
1. Die Ausgabe der Teams abhängig davon wird ob es ein Auswärts- oder ein Heimspiel ist
2. Das Team welches gewonnen hat und dessen Tore soll fett gedruckt werden.
Also so soll das Ergebniss dann aussehen:
Computerboard da wird dir geholfen
Berechnung und Anzeige von Spielergebnissen
am 27.06.2010 - 13:48 Uhr
Glaube jetzt auch, dass mit views die Aufgabenstellung nicht gelöst werden kann. Würde die Aufgabe selber wie folgt lösen:
1. Seite mit Eingabeformat PHP erstellen
2. Dort Datenbankabfrage mit Kriterien starten, z.B. nach Mannschaft A
$ query_str = "select DATENBANKFELDER from TABELLE where KRITERIEN order by TABELLENFELD desc";
$ result = db_query(db_rewrite_sql($query_str, 'n', 'nid'), $user->uid);
3. Ergebnisse prüfen und layouten, dabei FELD3 und FELD4 verglichen und je nach Ergebnis entsprechende CSS-Klassen ausgeben:
while ($r = db_fetch_object($result)) {
$ergebnis_heimmannschaft = $r->feld3;
$ergebnis_gastmannschaft = $r->feld4;
if ($ergebnis_heimmannschaft >$ergebnis_gastmannschaft) {
< d i v style="fettschrift">$r->feld1 < / d i v>< d i v > - < / d i v >< d i v style="normalschrift">$->feld2 < / d i v> < d i v style="fettschrift">$r->feld3 < d i v> : $r->feld4 }
if ($ergebnis_heimmannschaft <$ergebnis_gastmannschaft) {
< d i v style="normalschrift">$r->feld1 < / d i v>< d i v> - < / d i v>< d i v style="fettschrift">$->feld2 < / d i v> < d i v style="normalschrift">$r->feld3 < /d i v >< d i v > : < / d i v> $r->feld4 }}
Die Zeilen sollen nur das Prinzip verdeutlichen.
Besser wäre es natürlich, mit css-Klassen zu arbeiten und das Layout damit auzulagern. Zudem müßte noch das Ergebnis "unentschieden" definiert werden.
Schließlich müßten auch noch die Abfragekriterien (Mannschaft A oder B oder C oder was auch immer per URL übergeben werden. Siehe hierzu z.B. http://www.drupalcenter.de/node/26863.
Joar habe es leider
am 27.06.2010 - 17:22 Uhr
Joar habe es leider befürchtet, dass das nicht mit views lösbar ist...
Nunja, ich habe mir jetzt ein skript gebastelt, das mir die Ausgabe die von views gemacht wird wieder in ihre Bestandteile zerlegt, dadurch fällt für mich das programmieren der Datenbankabfrage weg und Kleinigkeiten wie Anzahl der angezeigten Ergebnisse und co kann ich jetzt trotzdem noch per views steuern.
Also wie das mit PHP umzusetzen ist weiß ich, habe nur gehofft da drumherum zu kommen.
Trotzdem danke für deine Bemühungen.
Computerboard da wird dir geholfen
Wieso erstellst du für diese
am 27.06.2010 - 20:05 Uhr
Wieso erstellst du für diese View nicht eine eigene template Datei und baust in diese Datei die Weiche für Heim und Auswärtrsspiele mittels PHP ein?
Also ne einfache Abfrage if ($blavariable == "heimspiel") print '
'
Du weisst, was ich meine.
Viele Grüße Dennis
--------------------------------------------------
http://www.datenbock.de
http://twitter.com/datenbock
http://www.xing.com/profile/Dennis_ReinertFrerich
Nunja weil ich ja trotzallem
am 27.06.2010 - 21:59 Uhr
Nunja weil ich ja trotzallem dann die einzelnen Ausgabevariablen haben müsste.
In der Block.tpl.php wird ja einfach $content ausgegeben und ich kann die Reihenfolge innerhalb des $content ja nicht ändern ohne dessen Inhalt wieder zu zerlegen...
Computerboard da wird dir geholfen
Views-Ergänzung
am 27.06.2010 - 22:58 Uhr
Hallo,
für so etwas eignet sich prima das Modul views_customfield. Das liefert dir ein Feld, welches reiner PHP-Code ist, darin kannst du die Ausgabe der anderen Felder "verwursten".
Sehr gut, das views_custom
am 28.06.2010 - 08:38 Uhr
Sehr gut, das views_custom field ist genau das was ich gesucht habe, danke
Jetzt habe ich nur noch ein kleines Problem wegen des Umlauts in (auswärts) der Testvariablen.
also das if ($data->node_data_field_ort_field_ort_value=="auswärts")
liefert nie true zurück.
eine Ausgabe der Variablen per var_dump liefert jedoch auswärts (string 9)
mit htmlentities und anschliesendem var_dump liefert die Ausgabe auswärts (string 23)
Weiß da jemand wie das mit den Umlauten funktioniert
Computerboard da wird dir geholfen