Seite 1 von 1
Base-Tag im Header - wie weg?
Verfasst: Montag 19. September 2005, 17:05
von dusselmann
Hi zusammen,
ich erstelle gerade ne Zope-Anwendung, in der ich einzelne Page-Templates miteinander verknüpfe. Wenn ich dann allerdings die Seite anzeigen will, pappt Zope in den Header noch ein Base-Tag. Das allerdings verhindert die Verwendung meines als PageTemplate gespeicherten CSS-Stylesheets. Nehm ich das Tag raus, funzt alles... (Firefox) Wie kann ich das Einfügen des Base-Tags unterbinden?
Thx & Gruß,
Dussel
Re: Base-Tag im Header - wie weg?
Verfasst: Montag 19. September 2005, 19:03
von gerold
dusselmann hat geschrieben: ich erstelle gerade ne Zope-Anwendung, in der ich einzelne Page-Templates miteinander verknüpfe. Wenn ich dann allerdings die Seite anzeigen will, pappt Zope in den Header noch ein Base-Tag. Das allerdings verhindert die Verwendung meines als PageTemplate gespeicherten CSS-Stylesheets. Nehm ich das Tag raus, funzt alles... (Firefox) Wie kann ich das Einfügen des Base-Tags unterbinden?
Hi!
Das Base-Tag ist für Zope wichtig. Wenn es auch nur irgendwie möglich ist --> lass es drinn.
Dieses Base-Tag wird allerdings nur dann eingefügt, wenn es einen HEAD-Tag gibt. Du musst dich also nur darum kümmern, dass es in deinem Pseudo-CSS-File keinen HEAD gibt.
mfg
Gerold
PS: Schwören möchte ich jetzt nicht unbedingt auf das was ich soeben behauptet habe

Verfasst: Montag 19. September 2005, 19:07
von gerold
Dachte ich es mir doch... das war totale Scheiße was ich da geschrieben habe. Dieses Verhalten mit dem BASE-Tag kenne ich nur von Plone und nicht von Zope. Zope fügt NICHT automatisch einen BASE-Tag hinzu.
Erkläre doch mal wie du dein CSS-File anlegst.
mfg
Gerold

Verfasst: Dienstag 20. September 2005, 07:15
von dusselmann
Hi,
also mein CSS-File ist ein Macro, welches in ein "Sammel-CSS" eingefügt wird. Dieses CSS rufe ich dann über <link rel="stylesheet" type="text/css" tal:attributes="href here/styles_css/absolute_url"/> auf. Der gesamte Head-Bereich ist ebenfalls ein Macro, welches in die Seitenvorlage eingefügt wird.
Ich benutze NUR Zope! Es ist nix anderes installiert..!
Aber auch mit Base-Tag muss es doch z.B. bei Plone auch gehen, externe CSS zu verlinken oder?
In einer Maillingliste habe ich folgenden Tipp bekommen, weiß aber nicht, ob es damit zusammenhängt, bzw. obs funktioniert:
"href string:{here/c/css/absolute_url}/styles_css"
Thx & Gruß, Dussel
Verfasst: Dienstag 20. September 2005, 07:45
von gerold
dusselmann hat geschrieben: also mein CSS-File ist ein Macro, welches in ein "Sammel-CSS" eingefügt wird. Dieses CSS rufe ich dann über <link rel="stylesheet" type="text/css" tal:attributes="href here/styles_css/absolute_url"/> auf. Der gesamte Head-Bereich ist ebenfalls ein Macro, welches in die Seitenvorlage eingefügt wird.[...]
Hi Dussel!
Leider sind das nicht unbedingt die Informationen die ich mir erhofft hatte. Aber eines fällt mir auf. Dein Stylesheet besitzt **nicht** die Endung
css.
Mit der Aussage "mein CSS-File ist ein Macro, welches in ein "Sammel-CSS" eingefügt wird" kann ich überhaupt nichts anfangen. Das musst du mir genauer erklären.
Wenn du dir den gerenderten Quellcode im Browser ansiehst, ist dann der Link zum Stylesheet korrekt? --> Link kopieren und direkt in die Adresszeile des Browsers einfügen. Es muss das Stylesheet angezeigt werden.
Steht die Site irgendwo im Internet, so dass man sich mal ansehen kann, was an den Browser geschickt wird?
Wie Plone das mit den Styles handhabt, siehst du in Plone in der Datei
/<PLONE>/portal_skins/plone_templates/header
mfg
Gerold

Verfasst: Dienstag 20. September 2005, 08:08
von dusselmann
ok, noch mal genauer:
ich habe ein PageTemplate (PT) index_html:
Code: Alles auswählen
<html>
<head metal:use-macro="here/head_html/macros/head_info">Kopf</head>
...
</html>
Dieses Head-Macro sieht so aus:
Code: Alles auswählen
<head metal:define-macro="head_info">
<title tal:content="here/title">Title</title>
<link rel="stylesheet" type="text/css" tal:attributes="href here/styles_css/absolute_url"/>
</head>
Das styles_css:
Code: Alles auswählen
<s metal:use-macro="here/styles_main/macros/main_styles">asdf</s>
styles_main:
Code: Alles auswählen
<style metal:define-macro="main_styles" tal:omit-tag"">
... CSS-Definitionen ...
</style>
Alle Dateien sind als PT in Zope angelegt. Ich habe das Beispiel aus dem Zope-Buch von Galileo Computing übernommen. Laut Buch sollte es also so funktioniert. Im gerenderten HTML-Code steht wirklich ein absoluter Pfad zum CSS-Stylesheet drin und wenn ich den aufrufe, bekomme ich dieses auch im Browser angezeigt.
Das Base-Tag sieht so aus:
<base href="
http://localhost:9673/a/b/" />
Und der CSS-Link ist wie gesagt absolut..
Gruß, Dussel
PS: Site ist nicht online...
Verfasst: Dienstag 20. September 2005, 15:04
von gerold
Hi Dussel!
Ich kann wirklich keinen Fehler entdecken. Mit Ausnahme eines Leerzeichens, das in dieser Zeile fehlt:
Code: Alles auswählen
<link rel="stylesheet" type="text/css" tal:attributes="href here/styles_css/absolute_url"/>
Vor
/> sollte normalerweise ein Leerzeichen hin.
Plone macht das mit dem Stylesheet ein wenig anders. Vielleicht sind deine Probleme gelöst, wenn du es mal so probierst.
Code: Alles auswählen
<style type="text/css" media="screen"
tal:content="structure string:<!-- @import url($portal_url/plone.css); -->">
</style>
Natürlich musst du vorher
$portal_url/plone.css durch dein CSS ersetzen. Achte aber auch darauf, dass dein CSS-File auch wirklich die Endung ".css" hat. Das macht bei mir mit dem Firefox wirklich einen Unterschied.
mfg
Gerold

Verfasst: Dienstag 20. September 2005, 18:03
von dusselmann
ok, jetzt verzweifle ich langsam. folgender Code im head:
Code: Alles auswählen
<head metal:define-macro="head_info">
<title>Titel</title>
<style type="text/css" media="all"><!-- @import url(http://localhost:9673/css/styles.css); --></style>
</head>
bzw.
Code: Alles auswählen
<head metal:define-macro="head_info">
<title>Titel</title>
<style type="text/css" media="screen"><!-- @import url(http://localhost:9673/css/styles.css); --></style>
</head>
Im HTML-Code sieht das dann so aus:
Code: Alles auswählen
<head>
<base href="http://localhost:9673/" />
<title>Titel</title>
<style type="text/css" media="screen"><!-- @import url(http://localhost:9673/css/styles.css); --></style>
</head>
und trotzdem wird das Stylesheet nicht verwendet...

Was mach ich falsch???
Gruß, Dussel
Verfasst: Mittwoch 21. September 2005, 13:06
von dusselmann
Hi,
hat keiner ne Idee? Liegts vielleicht am Firefox??
Thx & Gruß, Dussel
Verfasst: Mittwoch 21. September 2005, 13:31
von gerold
dusselmann hat geschrieben:hat keiner ne Idee? Liegts vielleicht am Firefox??
Hi Dussel!
Wende dich doch mal an eine Newsgroup, die sich mit dem Thema HTML beschäftigt. Vielleicht hat auch jemand vom DZUG einen Hinweis für dich.
http://de.selfhtml.org/css/formate/einbinden.htm
http://www.zope.de/kommunikation
mfg
Gerold

Verfasst: Samstag 24. September 2005, 10:49
von dusselmann
Hi,
also das ganze als File gespeichert mit den richtigen Meta-Infos hat geklappt. Danke!
Gruß, Dussel