DIVs
Eingetragen von Anonymous (0)
am 19.09.2005 - 14:26 Uhr in
am 19.09.2005 - 14:26 Uhr in
Hi!
Ich benutze Drupal noch nicht so lange und will mir nun ein eigenes Theme erstellen. Gibt es eine Möglichkeit, die vielen DIV-Tags in einer Datei zu beseitigen oder muss ich alle einzelnen Dateien (phpEngine und Systemdateien) ändern? Ich plane, Drupal auf zwei Servern mit dem gleichen Theme einzusetzen und habe keine Lust, bei Layoutänderungen immer alle möglichen Dateien zu aktualisieren.
Viele grüße, mh
p.s.: Sonst ist Drupal echt klasse
- Anmelden oder Registrieren um Kommentare zu schreiben
Themes
am 19.09.2005 - 21:35 Uhr
Die Forensuche hilft da weiter, Micha hat dazu schon einiges zu Themes geschrieben ;-)
Wenn du dich sehr intensiv damit befassen willst schau auch im Development Handbuch http://drupal.org/node/509
mfg holger
ebec.Net ! Blog www.ebec.net | STNetwork.de -- IT Blog www.stnetwork.de
Beste Grüße, Holger
---
IT-News und IT-Jobs auf w3Projekt.com
Re: DIVs
am 20.09.2005 - 07:21 Uhr
es eine Möglichkeit, die vielen DIV-Tags in einer Datei zu beseitigen oder muss ich alle einzelnen Dateien (phpEngine und Systemdateien) ändern
die weitaus meisten DIVs werden im Theme selbst gesetzt und sind in den jeweiligen *.tpl.php zu finden
das heißt das Theme verteilt sich auf mehrere sogenannte Templates, normalerweise sind das
page.tpl.php
node.tpl.php
block.tpl.php
usw.
um deine Frage zu beantworten, ja du müßtest viele Dateien ändern
Gegenfrage, wenn du das Layout änderst - für eine Seite - warum kopierst du nicht einfach den Inhalt des theme/dein_theme Verzeichnisses zur anderen Seite ?
DIVs
am 20.09.2005 - 20:42 Uhr
Vielen Dank für die Antworten. Die DIVs aus dem Theme selbst hatte ich schon alle entfernt. Dann muss ich wohl doch jede Datei einzeln ändern. Schade. Ich hatte gehofft es ging einfacher. Kann ich das ganze denn trotzdem hinterher als Theme abspeichern (andere Dateien durch zentrale Datei überschreiben?) oder muss ich immer alle Dateien in unterschiedliche Ordner laden?
mir ist nicht so ganz klar,
am 21.09.2005 - 08:26 Uhr
mir ist nicht so ganz klar, was du meinst
wenn du die template Dateien (*.tpl.php) angepasst hast, dann hast du jetzt ja schon ein angepasstes Theme im root/themes/dein_theme Verzeichnis und könntest das komplette Verzeichnis "dein_theme" in jedes beliebig andere Drupal kopieren
ein "zentraler" Zugriff von "überall" auf "/dein_theme" Verzeichnis ist prinzipiell möglich, hängt vom Provider und deinem PHP Wissen ab
falls deine Seiten auf unterschiedlichen Servern liegen, wirds schwierig, liegen sie auf einem, könnte man so einen zentralen Zugriff einrichten
Ob das den Aufwand lohnt ? normalerweise ändert man sein Theme ja lokal und lädt es dann per FTP auf den Webspace, es erscheint mir unproblematisch das Hochladen "2mal" zu klicken damit das Theme auf zwei Webspaces ist
MfG Micha
- work in progress mit Langmi.de
aus Template heraus überschreiben
am 21.09.2005 - 12:44 Uhr
Sorry für die Unklarheiten. Ich meinte, ob ich aus dem Template heraus, die Variablen aus den anderen Dateien überschreiben kann, oder ob das problematisch wird.
Re: aus Template heraus überschreiben
am 21.09.2005 - 12:47 Uhr
Sorry für die Unklarheiten. Ich meinte, ob ich aus dem Template heraus, die Variablen aus den anderen Dateien überschreiben kann, oder ob das problematisch wird.
welche Dateien meinst du genau ? die des Templates ..also die *.tpl.php ?
beschreib doch mal genau, was du "überschreiben" willst und warum :-)
Mir geht es u.a. um die
am 21.09.2005 - 15:59 Uhr
Mir geht es u.a. um die Dateien im includes-Ordner pager.inc und theme.inc, weil, wenn ich es richtig gesehen habe, dort die Variablen für unterschiedliche Drupal-Elemente stehen, die DIVs erhalten
Theme Mechanismus von Drupal
am 21.09.2005 - 16:31 Uhr
Theme Mechanismus
normalerweise werden alle zu themenden Inhalte über die Funktionen in theme.inc auf die Seite gebracht
die PHPTemplate Engine gibt einem nun die Möglichkeit die Funktionen von theme.inc zu überschreiben und tut dies auch schon bei vielen von Hause aus
um wirklich alle Funktionen zu überschreiben bzw. den benutzten html code zu verändern kann man über eine template.php Datei im eigenen Theme diverse Funktionen überschreiben und hinzufügen (siehe dazu Overriding other theme functions (die Kommentare sind wichtig !! speziell der zum Thema - einfach nur veränderten String zurückgeben
Theme Funktionen außerhalb der theme.inc
nun wirds bissl komplizierter :-)
pager.inc ist ein Sonderfall, die hier vorhandenen theme_ Funktionen gehören eigentlich logisch zur theme.inc Datei, dass macht aber für die Aussage oben nichts weiter, auch theme_pager kann man überschreiben (d.h. ich bin mir sicher, habs aber noch nicht für theme_pager ausprobiert)
man sollte dazu wissen dass allgemein gesehen zwischen .inc und .module Dateien kein Unterschied besteht, sind alles Module, die .inc Dateien sind aber besonders wichtig oder werden beim Systemstart benötigt (hier sind Module noch nicht geladen)
dasselbe gilt für neue theme_ Funktionen in Modulen
grds. kann man sich das so vorstellen, dass es einen Pool an theme_ Funktionen gibt und jede einzelnen kann man mit der phptemplate engine und einem eigenem template.php file überschreiben
Funktionen innerhalb der phptemplate.engine und Überschreiben von Theme-Variablen
einen Sonderstatus haben die phptemplate_ Funktionen die in der phptemplate.engine Datei stehen, diese kann man nicht überschreiben, da sie aber selbst keinen html Code produzieren ist das nicht weiter schlimm, und notfalls kann man auch hier noch den output verändern (siehe dazu als Ausgangspunkt Making additional variables available to your templates)
Probleme
Probleme gibt es vor allem mit Modulen die nicht Theme-Funktionen benutzen, sondern selbst schon html Code erzeugen ... das sollten aber nicht mehr sehr viele sein.
Und auch hier kann man notfalls den Output verändern (via template.php : override variables - siehe oben)
falls irgendwas unverständlich war einfach nachfragen :-)
MfG Micha
- work in progress mit Langmi.de
Vielen DAnk!
am 22.09.2005 - 10:46 Uhr
Ganz vielen DAnk!!!!
Das habe ich gesucht!