[gelöst] Drupal Theme Anpassung/Installation
am 18.04.2011 - 08:42 Uhr in
Hi!
Ich arbeite jetzt eigentlich seit letzten September mit Drupal, habe mich daran gewöhnt es anzupassen, mir neue Module zu besorgen und die Internet Seiten so laufen zu lassen, wie ich es möchte.
Allerdings gibt es noch ne Kleinigkeit mit der ich mich nie beschäftigt habe, die ich aber nun benötige. Mein eigenes Theme!
Ich habe eine komplette, fertige, statische Seite, bestehend aus Bildern, einigen HTML und ein paar CSS Dateien und möchte dies nun "in" Drupal haben. Die Seite funktioniert im Browser schon so, wie ich es will. Nur läuft es halt momentan komplett ohne ein CMS.
Drupal hab ich auf meinem Web Space natürlich installiert, aber wie bekomme ich nun meine Seite so, dass Drupal es als ein Theme anerkennt?
Erst dachte ich mir, ich lösche einfach den Inhalt aus z.B. dem Garland Theme und pflanze einfach meine Sachen rein, hat nicht geklappt, k.
Nun die Frage, muss ich meine index.html einfach in eine "html.tpl.php" umbennen (und dann logischerweise die Verlinkungen innerhalb der Dateien anpassen)?
Über Google habe ich leider kein Tutorial gefunden, was ich wirklich als hilfreich, verständlich und eindeutig empfand. Falls einer eins kennt, nehme ich das gerne an.
Grüße
PS: Wie würde es aussehen, wenn ich bis auf die comment.tpl.php, block.tpl.php, template.tpl.php, page.tpl.php und node.tpl.php alles lösche/mit meinem Zeug ersetze? Das Drupal Grundgerüst müsste ja dann noch bestehen, richtig?
- Anmelden oder Registrieren um Kommentare zu schreiben

Guten morgen, erstmal welche
am 18.04.2011 - 09:13 Uhr
Guten morgen,
erstmal welche Drupal Version hast du? Wenn D6, stell dir immer zuerst die Frage obs nicht auch mit D7 genauso gut geht. Hintergrund: irgendwann wird D6 nicht mehr supported. Die Themes werden unterschiedlich gehandled. Gibt neue Bezeichnungen. Ein D6 Theme zu mirgrieren ist auch ein kleiner Aufwand. Darum wäre das ggf. jetzt - wo noch alles rel. unproduktiv dar steht - eine gute Gelegenheit zu wechseln.
Speziell zum Theming gibs vieles zu sagen. Bin selber relativer Noob auf dem Gebiet. Hab aber ein vorhandenes D6er erfolgreich angepasst. Würde immer zu erst einfach kurz google, bzw. ins Handbuch schauen. Gibt viele Seiten die es Schritt für Schritt erklären.
1. Regel ist eig. immer: die vorh. Themes werden nicht angefasst! Entweder man macht es komplett neu oder man erstellt ein Sub-Theme, dass auf einen vorh. basiert. Diese sollten auch immer unter
sites/all/themesliegen. Beim updaten könnte man sonst in Teufelsküche kommen. Ausserdem sind viele Module drauf ausgelegt, zumindest mit den Basis-Themes 100% zu funktionieren. Bei Fehlern einfach kurz umschalten und dann überlegen warum es in "meinen" Theme so schlecht aussieht. Diese Möglichkeiten sollte man sich nie verbauen.Was verstehst du unter "statisch"? Hast du mit
<div>gearbeitet oder alles in eine Art HTML-Tabelle gepackt? table dient schon lange nur für Tabellen. Ein darauf basierendes Design würd zwar funktionieren, ist aber insgesamt unschön und sollte nicht gemacht werden.Evtl. findest du also schon mal ein Theme, dass deinen sehr nah kommt. Könntest also ein Sub-Theme erstellen und ein wenig an den Größen-, Farben- und ggf. Funktionsschrauben drehen.
Normal reichen die 3x Spaltten (Links, Mitte, Rechts) vollkommen aus! Hast du dir z.B. mal Panels angeschaut? Damit hast du mehrere feste Layouts und bekommst so automatisch Splten und Reihen dazu. Man muss nur die Blöcke mit Inahlt füllen.
Die einzelnen Blöcke kann man mit eigener CSS-ID ausstatten und so über CSS anpassen. Damit bleibt das Grunddesign erhalten und man manipuliert nur diese "kleine Insel". Kann zwar auch immer noch in die Hose gehen, aber zumindest kann man das leichter kontrollieren Du kannst dort auch zusätzliche Breadcrumb oder Menüs integrieren.
Ka schau dir Zeitungen an -meinetwegen auch die Bild - dort wird das meist ähnlich gemmacht! Bild.de hat z.B. eine ID "buehne". Dort werden die Hammer Themen auf der Startseite präsentiert.
So funktioniert dass dann auch mit Panels.
Es ist definitiv auch weniger Arbeit. Du hast den großen Content-Bereich und lässt dort einfach ein Panel mit versch. Blöcken auftauchen. Veribinde es noch mit Views und du wirst überascht sein. ;)
Wenn Du ein vorh. anpasst, siehst du auch gleich den unterschied zum original und kannst so leichter Fehler aufspüren. Drupal mit Modulen anzupassen geht für geübte binnen paar Minuten. Theming kann da schon das 3x an Zeit beanspruchen. Wenn du vorh. Mittel nimmst und noch z.B. Panels nutzt, sollte es aber viel besser laufen.
Beim Kopieren gehen sonst auch alle Variablen verloren! Du musst natürlich sagen, hier genau soll das Menü stehen. Alle Punkte werden aber vom CMS generiert. Du bekommst also den ganzen Klumpatsch irgendiwe aus der Datenbank. Musst dann aber im CSS noch sagen, was bei Mauskationen oder aufgeklappten Menüs passieren soll. Einrücken. hervorheben, etc. etc.
Auch wen manche Themes hammer langen Code haben, gehts bei vielen recht simpel. Der Grund ist das die Platzhalter ja gefüllt werdn und man mittels CSS sagt was geschehen soll.
Ein wenig PHP-Code in der template.php rundet die Sache ab. Zwar kein muss, aber damit kann man z.B. sagen, welche CSS Attribute genutzt werden sollen, wenn z.B. statt 3x nur 2x Spalten eingestellt werden. Dann wird meist Menü bissel größer, etc. Du kannst auch damit z.B: Breadcrumb Darstellung beeinflussen. Oder sagen, dass z.B. sowas wie Kommentar geschrieben von xx am yy anders auszusehen hat, bzw. bei einen Nodetyp gar nicht auftauchen soll.
Schau dir also mal in den Beispielen an, was es für Platzhalter gibt. Wen die in einfachen div-Blöcken eingebettet werden, reicht das schon vollkommen aus. CSS IDs und Klassen werden Teils automatisch dann eingefügt. Wie z.B. "leaf" in den Menüs. Such mal nach solchen IDs und Klassen in einen template. Da wirst du kaum was sehen. Wird automatisch generiert und man kanns dann einfach mit CSS anpassne.
mfg Crusher
Mission: Theme
am 18.04.2011 - 09:13 Uhr
Vielen Dank schon mal für deinen schnellen Beitrag Crusher.
Bei der Seite handelt sich um einen Blog/Portfolio. Der Content Bereich ist deswegen nicht so groß und umfangreich, wie zum Beispiel bei irgendwelchen Community Seiten, Seiten von Zeitungen etc.
Daher hab ich eigentlich gedacht, dass Drupal 6 dafür vollkommen ausreichen müsste. Wenn du möchtest, kann ich dir die Seite ja mal zeigen.
Die Seite ist komplett in < div > 's aufgebaut wurden.
Um Panels hab ich mich bisher, auch bei anderen Arbeiten die ich bis jetzt über Drupal gemacht habe, erfolgreich drücken können. Ich weiß, das Panels eigentlich ein sehr nützliches und effektives Modul fürs theming ist, ging bisher aber auch immer ohne, da es wohl auch recht kompliziert sein soll.
Aber ich sollte schon endlich mal den Schritt mit Panels machen. Bin mir sicher, da werden sich ganz neue Wege mir eröffnen. :)
Grüße
Hm verstehe. Panels ist gar
am 18.04.2011 - 09:22 Uhr
Hm verstehe.
Panels ist gar nicht so wild. Man installeiet das Modul und legt ein Panel an. Als Layout z.B. das umfangreichen "Backsteinformat". Sieht aus wie ne Mauer. Ein großer Block überspannt 2x kleine und dann wieder ein großer und 2x kleine....
Wenn du vorh. Nodes hast, kannst du die einfach als Content hinzufügen. Damit ist die Sache schon fertig! Gefällt dir die Textgröße nicht, etc. kannst du dann immer noch mit CSS anfangen und die Panels manipulieren.
Mit Community hat das nich viel zu tuene. Geht z.B. darum eine Frontpage nicht langweilige zu halten. Panel als feste Seite einrichten und dann z.B. mit Views akt. Beiträge integrieren. Set-it-and-forget-it. Aufgrund von Berechtigungen oder anderen Einstellungen kann man auch "geheime"Seiten verbergen.
Ja kannst gern mal zeigen. Bin aber auch Theming Noob. Aber weiß son bissel wo es lang geht - hoff ich zumindest. ;)
Im Prinzip hast du immer 2x CSS Dateien im Nacken! 1x die aus dem Core und dann die im Theme. Aufgrund von Wertigkeiten wird die eine oder andere bevorzugt. Man überschreibt quasi Drupal Standard Einstellungen. Hat man im eigener CSS eine ID oder klase zu wenig, bekommt man zu wenig Punkte und das Core CSS wird dargestellt. Auch wenn dein Code 100% stimmt, kann das einen frustrieren und das Genick brechen.
Wenn du in deinen jetzigen Design schon Menüs hast, denke ich mla du hast sowas wie Class "leaf-first" nicht drin. Dieser Klumpatsch kommt automatsich aus dem Core und den Drupal Modulen. Steht so im Quelltext. Genau sowas musst du in deine rCSS dann mit rein nehmen und anpassen.
mfg Crusher
Ich gehe es mal an.
am 18.04.2011 - 13:41 Uhr
Okay, gut.
Ich werde dann erst mal gucken, dass ich das ganze quasi mit und über ein Sub-Theme anpasse.
Das erscheint mir fürs erste, für mich, am logischsten und einfachsten, um die Sache mal langsam ins rollen zu bringen.
Melde mich dann wieder, sobald ich entweder fertig bin oder aufgrund von diversen, noch nicht vorher zu sehenden Problemen unterbrechen muss.
;p
Gruß
.. und noch einmal Danke für deine Zeit.
*Edit: Soweit, so gut. Hab mir das Zen Theme runtergeladen und darüber nen Sub Theme erstellt. Teilweise fängt die Gestaltung an so zu wirken, wie ich möchte, allerdings kann ich für meinen header und footer keine Grafik einbinden. background-color übernimmt er, background-image ignoriert er völlig? O:
Und irgendwie hab ich die Primary Links auch doppelt. Einmal im Header, wo ich sie hingeschoben hab und ein mal noch im Content Bereich. Merkwürdig.
http://getfirebug.com/ Damit
am 18.04.2011 - 13:45 Uhr
http://getfirebug.com/
Damit kannst du die Site analysieren. Alles was an CSS durchgestrichen ist, wurde von anderer CSS Datei übschrieben. Normal müsste dann dort Bilddatein von Zen oder drupal core auftauchen. Um es zu übschreiben, einfach z.B. weitere CSS ID im Theme einfügen. Dann sollte deine CSS datei die andere übertrumpfen.
Eigentlich benutze ich immer
am 18.04.2011 - 15:33 Uhr
Eigentlich benutze ich immer das Web Developer Tool für den FireFox .. und .. ich habe fast alle andern .css Dateien entfernt, damit mir eben nix mehr überschrieben werden kann.
Gruß
*Edit: Verdammter Header. Es gibt nun wirklich nur noch meine style.css.Der Pfad ist 100%ig richtig angegeben, aber der zeigt mir die Grafik immer noch nicht an. :(