[gelöst] Wie eine Ansicht aus 2 Inhaltstypen erstellen?
Eingetragen von moremedia (94)
am 24.02.2010 - 15:21 Uhr in
am 24.02.2010 - 15:21 Uhr in
Hallo,
ich möchte auf der Startseite (front) eine Ansicht erstellen, die aus 2 Inhaltstypen besteht.
Einmal "Turniere" und einmal "News", diese sollen nebeneinander dargestellt werden.
Wie soll ich da bitte vorgehen?
Ich habe versucht eine Ansicht zu erstellen, worin ich die benötigten Felder für die Ausgabe definiere. Jedochen vermischen sich hier Felder von den Turnieren und den News.
Würde mir bitte jemand einen Tipp geben, wie ich das Problem lösen kann.
Vielen Dank!
Gruß,
Mario
- Anmelden oder Registrieren um Kommentare zu schreiben
Wenn sie wirklich
am 26.02.2010 - 14:45 Uhr
Wenn sie wirklich nebeneinander dargestellt werden sollen kannst du 2 Views anlegen. Für jeden Inhaltstyp einen.
Ansonsten (wenn sie in einem View ausgegeben werden sollen) wäre es auch möglich die Formatierung des Views auf Teaser zu setzen und 2 verschiedene Teaser Ansichten in der node.tpl.php des jeweiligen Typs zu themen.
» forward-media.de Drupal Entwicklung | Drupal Tutorials
Danke für deine rasche
am 24.02.2010 - 15:34 Uhr
Danke für deine rasche Reaktion!
Mir wäre es auch lieber 2 Ansichten zu erstellen, nur wie bringe ich diese 2 gleichzeitig und nebeneinander auf die Startseite?
moremedia schrieb ... nur
am 24.02.2010 - 15:39 Uhr
... nur wie bringe ich diese 2 gleichzeitig und nebeneinander auf die Startseite?
Eine Möglichkeit .... Du baust zwei Blöcke für Deine beiden Ansichten und floatest die dann per CSS mit ner Weite von 50% ...
Die beiden Blöcke schreibst du als PHP Code in Deine zu erstellende Startseite, indem Du das Modul PHP FILTER aktivierst und als Eingabeformat PHP auswählst!
PS.: Es gibt auch noch ein Modul EMBEDDED VIEWS oder so ähnlich ... mal danach googeln, wenn Dir die erste Variante mit dem Block-Einbau nicht zusagt.
--------------------
Design Probleme einfach mit FF und FIREBUG lösen!
Drupal 7 Screencasts in deutsch!
Danke für deine
am 24.02.2010 - 15:41 Uhr
Danke für deine Antwort!
Mit CSS habe ich kein Problem ... Nur wie realisiere ich das bitte mit PHP?
Entschuldigt bitte mein Nachhacken, aber ich versuche mich erst seit einigen Tagen mit Drupal.
Eine weitere Möglichkeit
am 26.02.2010 - 14:45 Uhr
Eine weitere Möglichkeit ist das Modul Panels. Hier kannst du die Startseite in mehrere Regionen aufteilen.
» forward-media.de Drupal Entwicklung | Drupal Tutorials
Danke! Ich sehe mir jetzt
am 24.02.2010 - 15:52 Uhr
Danke!
Ich sehe mir jetzt mal das Embed View- und Panels Modul an.
moremedia schrieb Danke
am 24.02.2010 - 16:12 Uhr
Danke für deine Antwort!
Mit CSS habe ich kein Problem ... Nur wie realisiere ich das bitte mit PHP?
Gute Anleitung: http://skhor.de/node/197
PS.: Egal, wie weit Du mit Drupal bist ... Du solltest immer erst die Suchfunktion hier und Google bei Problemen bemühen! Im Normalfall findet man bei Google immer ne Lösung mit englischen Suchbegriffen, aber auch meinen Link für Dich hättest du mit http://www.google.de/search?hl=de&q=block+einbinden+views relativ leicht finden können!
--------------------
Design Probleme einfach mit FF und FIREBUG lösen!
Drupal 7 Screencasts in deutsch!
Danke! Ich werde es in
am 24.02.2010 - 17:22 Uhr
Danke!
Ich werde es in Zukunft berücksichtigen. Es ist ja nicht so dass ich mich seit Tagen, auf Google nicht krumm gesucht habe ... Aber ich verstehe die einzelnen Zusammenhänge noch nicht wirklich.
Das ist auch nicht ganz
am 25.02.2010 - 00:25 Uhr
Das ist auch nicht ganz einfach, sich da reinzufuchsen. Und du wirst damit als Neuling sehr viel Arbeit haben.
Ich habe für ein ähnliches Anliegen einmal folgendes gemacht: In der page.tpl.php meines Themes habe ich an einer geeigneten Stelle (in der Regel innerhalb des contents und oberhalb des Titels) folgenden Schnipsel eingefügt:
<?php
if ($teaserblock): print $teaserblock; endif;
?>
Drumherum habe ich CSS-Klassen und IDs definiert. In der xyz.info meines Themes (bzw. Frameworks yaml) habe ich die neue Region an der entsprechenden Stelle eingetragen.
Beispiel:
regions[teaserblock] = teaserblock
Das Resultat: Ich kann Blöcke in diesem teaserblock platzieren. Sie werden oberhalb des Node-Inhalts angezeigt. Eleganter wird das ganze mit dem oben schon empfohlenen Modul "Panels" bzw. den Mini-Panels. Du könntest ein zweispaltiges Mini-Panel anlegen, deinen View 1 links, den zweiten View rechts laden. Den so erzeugten Block kannst du dann in der neuen Region platzieren. Und der Rest ist viel CSS, weil es nicht ganz einfach ist, zwei nebeneinander stehende dynamische Inhalte gut aussehen zu lassen (das schafft selbst die tagesschau in ihren Zweispaltern nicht immer.)
Hinweis: Du benutzt vermutlich ein Standard- bzw. Core-Theme wie Garland oder Bluemarine. Suche mal nach drupal regions garland
ODER Du sparst dir den ganzen Aufwand und setzt deine zwei Ansichten als Blöcke übereinander in eine Spalte!
Der php filter wurde nicht
am 25.02.2010 - 01:34 Uhr
Der php filter wurde nicht umsonst bei D6 standardgemäß deaktiviert.
Der php Filter ist eine unsaubere Geschichte, speziell dann wenn man damit theming in die Datenbank verschiebt.
Vor allem aber ist der PHP-Filter ein potentielles Sicherheitsleck.
Also die Art im Theme zu arbeiten wie von ck erklärt ist die klassische und vermutlich beste Variante. Allerdings solltest Du nicht auf Garland aufsetzen da sich das als Basis Theme nicht eignet. (Stichwort ZEN Theme - aber das ist eine andere Geschichte)
Panels ist eine schicke Geschichte aber auch ganz schön komplex daher würde ich Dir empfehlen erstmal mit den Core Bordmitteln zu arbeiten die für das was Du machen möchstes vollkommen ausreichend sind.
Weitere Infos: http://drupal.org/theme-guide/6
Danke für die hilfreichen
am 25.02.2010 - 08:21 Uhr
Danke für die hilfreichen Tipps. Also ich habe mich gestern in das Panels Modul rein gearbeitet und bin echt davon begeistert. Soweit klappt auch alles wie gewünscht. Ich habe für jeden der 2 Bereiche jeweils eine Ansicht erstellt und diese importiere ich in ein 2-spaltiges Panel.
Nur habe ich noch ein Problem mit der Veröffentlichung auf der Startseite. In den Parametern kann man ja definieren ob man dieses Panel auf der Startseite haben möchte, bzw. ob man die bisherige Startseite mit dieser ersetzen möchte. Sobald ich aber hier den Parameter "node" definiere, bekomme ich einen Error, dass es eine solchen schon gibt. Ist ja klar, das wird wohl die noch aktive Startseite sein.
Hätte bitte jemand einen Tipp, wie ich da vorgehen soll?
Vielen Dank!
Gruß,
Mario
Super, dass du dich so
am 25.02.2010 - 23:04 Uhr
Super, dass du dich so schnell da reinarbeiten kannst. Da bin ich im Vergleich eine Schnecke. Aber: Ich habe ganz bewusst in meinem Posting "mini-panels" erwähnt!
Beste Grüße, ck
Freut mich! Panels ist schon
am 25.02.2010 - 23:16 Uhr
Freut mich! Panels ist schon toll - schau Dir aber bei Gelegenheit Regions auf jeden Fall auch an.
Bzgl. der Startseite, ich bin mir nicht sicher, ob ich Dich recht verstehe ("Parameter node"?) aber vlt. hilft es Dir mal auf /admin/settings/site-information vorbei zu schauen, da lässt sich die Quelle (= url) für die Startseite definieren.
Nicht in Panels "node"
am 25.02.2010 - 23:37 Uhr
Nicht in Panels "node" reinschreiben! Am einfachsten ist es tatsächlich, in Panels eine Seite zu erstellen, diese z.B. "startseite" zu nennen und die dann, wie s.Daniel gesagt hat, in den Website-Informationen als Startseite festzulegen. Ist vielleicht nicht die schickste Lösung, aber wenn man sich Panels einmal angeschaut hat, recht unfallfrei hinzukriegen, auch wenn man damit die ganzen Möglichketien von Panels bei weitem nicht ausschöpft.
Wenn ich diese Struktur aber auf mehreren Seiten haben möchte, sind Regionen auch nicht verkehrt - wären mir aber für eine einzelne Seite zu viel Aufwand.
Drupal Freelancer im Rheinland gesucht?
Danke für eure Antworten! Ich
am 25.02.2010 - 23:44 Uhr
Danke für eure Antworten!
Ich habs so lösen können wie von Daniel und E-Fee vorgeschlagen. Eigentlich ganz easy, aber wenn man keinen Schimmer hat ...
Danke für den Tipp mit Regions!