[gelöst] eigener Inhaltstyp: Links Bild, rechts Liste
Eingetragen von Jorge (58)
am 29.08.2010 - 20:30 Uhr in
am 29.08.2010 - 20:30 Uhr in
Hallo,
bin dabei mein erstes Drupal-Projekt umzusetzen und möchte dafür einen eigenen Inhaltstyp erstellen.
Das CCK-Modul und auch die Möglichkeit eine eigen node.tpl anzulegen habe bereits entdeckt, jedoch noch nicht abschließend begriffen.
Folgendes möchte ich realisieren: Einen Inhaltstyp, bei dem ich ein Bild hochladen kann und 5 kurze Text eingeben kann. Bei der Ausgabe des Nodes im Frontend soll dann das Ganze automatisch so formatiert werden, dass ich immer links das Bild habe und rechts daneben eine Liste aus den 5 Texten.
Wie würdet Ihr das angehen? Gibt es dafür eventuell schon etwas Fertiges?
Vielen Dank im Voraus.
Jorge
- Anmelden oder Registrieren um Kommentare zu schreiben
CCK und ein Node-Template
am 29.08.2010 - 22:33 Uhr
CCK und ein Node-Template sind schon richtig. Nachdem Du den Nodetyp (meintyp) mit CCK gebaut hast, erstellst Du einen entsprechen node-meintyp.tpl.php im Odner Deines Themes. Das ist zunächst einfach eine Kopie des node.tpl.php Deines Themes und wenn das keinen mitbringt eine Kopie aus dem Node-Modul-Ordner. (Achtung: es muß auch ein normaler node.tpl.php-File im Theme Ordner existieren, sonst funktioniert das nicht!!)
Darin machst Du jetzt die Änderungen, damit alle Deine Elemente mit Divs mit Klassen ausgegeben werden. Im CSS-File Deines Themes (style.css) baust Du dann die nötigen Anweisungen ein, damit Der Node genau so ausgegeben wird, wie Du es haben willst. Das ist dann alles.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Hallo Werner, vielen Dank für
am 31.08.2010 - 20:01 Uhr
Hallo Werner,
vielen Dank für die Antwort.
Habe noch nach dem richtigen Theme recherchiert und mich dafür entschieden yaml für drupal zu nehmen und die div-Struktur vom yaml subtemplate zu nehmen. Zumindest in der Theorie sollte das gehen. Wo ich den css-code einbaue, muß ich nun noch heraus finden, denn in der Theme gibt es unzählige.
Als weitere Möglichkeit habe ich ein Modul names Panel entdeckt. Wäre das auch eine Alternative für die Aufgabe?
Gruß ... Jorge
Hi Jorge, ich hab yaml schon
am 01.09.2010 - 00:46 Uhr
Hi Jorge,
ich hab yaml schon öfter benutzt, bin von der drupal version aber nicht so begeistert. Ich würde dir das genesis theme empfehlen.
Du kannst dir ein node-template sehr einfach mit dem contemplate modul machen. Ich finde, das ist die einfachste Möglichkeit für den Anfang.
Bei dem Contemplate für deinen Node-Typ wäre für yaml folgendes richtig:
<!-- Subtemplate: 2 Spalten mit 50/50 Teilung -->
<div class="subcolumns">
<div class="c50l">
<div class="subcl">
<!-- Inhalt linker Block -->
...
</div>
</div>
<div class="c50r">
<div class="subcr">
<!-- Inhalt rechter Block -->
...
</div>
</div>
</div>
Den Inhalt lässt du dann an der entsprechenden Stelle ausgeben. Contemplate ermöglicht dir die vorhandenen Felder deines node-typs per klick einzufügen.
Hallo Shopdogg, vielen Dank.
am 01.09.2010 - 21:04 Uhr
Hallo Shopdogg,
vielen Dank. Habe Deine Vorschläge mal angesehen. Das Contemplate finde ich gut, weil es bei den Variablen des Contents hilft. Klasse!
Was das Genesis Theme angeht, es macht auch einen guten Eindruck. Was ist den Deiner Meinung nach daran besser als bei Yaml, bzw. bei Yaml nicht so gut?
Gruß ... Jorge
Das Genesis Theme hat weniger
am 01.09.2010 - 23:05 Uhr
Das Genesis Theme hat weniger "zuviel". Außerdem ist es ganz einfach ein sub-theme zu erstellen.
Das ist nüzlich, weil du das Haupttheme (Genesis) so einfacher updaten kannst.
Die Struktur von Genesis ist meiner Meinung nach übersichtlicher.
Du brauchst keine Backlinks zum Entwickler einbinden.
Es ist "more accesible" als yaml.
Anleitung für subtheme
Hallo Shopdogg, vielen Dank
am 04.09.2010 - 12:49 Uhr
Hallo Shopdogg,
vielen Dank für die Info. Habe mal mit beiden Themes gespielt und es stimmt, dass Genesis übersichtlicher ist. Eigener Node-Type funktioniert testweise auch soweit (s.u.). Jetzt fehlt mir im Prinzip nur noch, dass die die subcl.. die gleiche Höhe haben. Habe es mit der "equalize" class aus Yaml probiert, was weder in der Yaml noch in Genesis Theme funktioniert (habe einfach im CSS mit border einen Rahmen gesetzt). Die Rahmen sind aber nicht gleich hoch. Gibt´s da noch etwas zu beachten?
Gruß ... Jorge
<div id="node-<?php print $node->nid; ?>" class="node
<?php if ($sticky) { print " sticky"; } ?>
<?php if (!$status) { print " node-unpublished"; } ?>">
<div class="clearfix">
<!-- Subtemplate: 2 Spalten mit 50/50 Teilung -->
<div class="subcolumns equalize">
<div class="c50l">
<div class="subcl">
<!-- Inhalt linker Block -->
<?php print $node->field_img1[0]['view'] ?>
</div>
</div>
<div class="c50r">
<div class="subcr">
<!-- Inhalt rechter Block -->
<?php print $node->field_text1[0]['view'] ?>
<div class="field-items">
<div class="field-item">
<?php print $node->field_text2[0]['view'] ?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
Gib den Divs div.c50l und
am 04.09.2010 - 13:18 Uhr
Gib den Divs div.c50l und div.c50r eine Height von 100% und eine Minheight von 100% (je da Browser wird da das eine oder das andere genommen), das sollte reichen.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Im yaml theme wird die
am 07.09.2010 - 14:22 Uhr
Im yaml theme wird die equalize Klasse so definiert:
.equalize, .equalize .subcolumns { overflow:visible; display:table; table-layout:fixed; }
.equalize > div {
display:table-cell;
float:none;
margin:0;
overflow:hidden;
vertical-align:top;
}
Kannste ja mal mit rumspielen. Oder hat Werners Hinweis schon zum Erfolg geführt? Dann markiere den Thread als gelöst.
Hallo Shopdogg, hallo
am 07.09.2010 - 16:12 Uhr
Hallo Shopdogg, hallo Werner,
vielen Dank für die Hilfe. Habe nun die equalize-Methode in die Genesis Theme übernommen. Funktioniert prima.
Gruß ... Jorge
Hallo, habe mich zu früh
am 07.09.2010 - 17:09 Uhr
Hallo,
habe mich zu früh gefreut :-). Nachdem ich nun im Firefox alles so hingebastelt habe (300x300 Bilde links & rechts den Rest der Breite für Text & equalize-Methode in die Genesis Theme übernommen) steht im Internet-Explorer alles untereinander.
Jetzt bin ich etwas verzweifelt. Wie gehe ich in Genesis mit dem IE um?
Gruß ... Jorge
Ich denk mal du musst ein
am 07.09.2010 - 17:46 Uhr
Ich denk mal du musst ein bischen googeln. Such mal nach "css equal height columns"
http://adaptivethemes.com/equal-height-columns-in-genesis
http://matthewjamestaylor.com/blog/equal-height-columns-cross-browser-cs...
http://www.ejeliot.com/blog/61
Du kannst dich auch von yaml inspirieren lassen. Lad dir das yaml theme direkt von der yaml Seite runter, also nicht für irgendein cms angepasst.
Dann guck dir mal alle Klassen an die du jetzt in deinem Nodetemplate verwendest. z.B. subcolums
Die nötigen Dateien sind im yaml/core Ordner. Guck dir base.css und iehacks.css an.