Zum Inhalt springen

Probleme mit Stylesheet

Erstellt am 4. November 2003 · 15 Antworten · letzte Antwort am 16. Dezember 2003

Tags: Frage

Unbekannter Benutzer ·

Hallo Gemeinde

Vieleicht kann mir hier mal jemand helfen....

Wie ich's auch drehe und wende wird mein Stylesheet
einfach nicht korrekt eingebunden.

Das heisst im Quellcode der Seite ist der Link mit drin:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<!--
This website is brought to you by Typo3 - get.content.right
Typo3 is a free open source Content Management Framework
created by Kasper Skaarhoej and licensed under GNU/GPL.
Information and contribution at http://www.typo3.com
-->

<link rel="stylesheet" href="fileadmin/temp-peay/stylesheet.css">

<title>Home</title>

Aber die definitionen im stylesheet werden nicht umgesetzt.

Mein Source code vom template schaut so aus:

<html>
<head>
</head>
<body>
<table width="750" border="0" cellspacing="0" cellpadding="0" align="center">
<colgroup>
<col width="200">
<col>
<tr>
<td colspan="2">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>HIER IST DIE BANNER DEFINITION.</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top" width="200">
<table width="200" border="0" cellspacing="0" cellpadding="0">
<tr>
<td id="menu_left">
</td>
</tr>
</table>
</td>
<td valign="top" width="550">
<table width="550" border="0" cellspacing="0" cellpadding="0">
<tr>
<td id="content">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top" width="200">
</td>
<td valign="top" width="550">
</td>
</tr>
</col>
</col>
</table>
</body>
</html>

und mein TS kommt folgendermassen daher:

# Configure the Auto Parser
plugin.tx_automaketemplate_pi1 {

#read template file
content = FILE
content.file = fileadmin/temp-peay/template.html

#wrap of html tag
elements {
BODY.all = 1
BODY.all.subpartMarker = DOCUMENT_BODY

HEAD.all = 1
HEAD.all.subpartMarker = DOCUMENT_HEADER
HEAD.rmTagSections = title

TD.all = 1

}

#prefix for rel path
relPathPrefix = fileadmin/temp-peay/

}

#menu_left object
temp.menu_left = HMENU

#1st level menu
temp.menu_left.1 = TMENU
temp.menu_left.1 {

#normal state
NO.allWrap = <div class="menu_level1-no"> | </div>

#active start
ACT = 1
ACT.allWrap = <div class="menu_level1-act"> | </div>

}

#2nd level menu
temp.menu_left.2 = TMENU
temp.menu_left.2 {

#normal state
NO.allWrap = <div class="menu_level2-no"> | </div>

#active start
ACT = 1
ACT.allWrap = <div class="menu_level2-act"> | </div>

}

#3rd level menu
temp.menu_left.3 = TMENU
temp.menu_left.3 {

#normal state
NO.allWrap = <div class="menu_level3-no"> | </div>

#active start
ACT = 1
ACT.allWrap = <div class="menu_level3-act"> | </div>

}

#main temp cObject for body
temp.mainTemplate = TEMPLATE
temp.mainTemplate {

#feeding the content
template =< plugin.tx_automaketemplate_pi1

#select only content for body tag
workOnSubpart = DOCUMENT_BODY

#define the menu_left subpart
subparts.menu_left < temp.menu_left

#define the content subpart
subparts.content < styles.content.get
subparts.content = CONTENT
subparts.content.table = tt_content
}

#main template for head
temp.headTemplate = TEMPLATE
temp.headTemplate {

#define the autoparser for template
template =< plugin.tx_automaketemplate_pi1

#select only the content for head-tags
workOnSubpart = DOCUMENT_HEADER

}

#default pate object
page = PAGE
page.typeNum = 0
page.stylesheet = fileadmin/temp-peay/stylesheet.css

#copy the content from template to body
page.10 < temp.mainTemplate

#copy the content from template to head
page.headerData.10 < temp.headTemplate

Im Include Static ist "CONTENT" ausgewählt und unter Constants habe ich
"content.stylesheet.file = fileadmin/temp-peay/stylesheet.css"
auch mal eingetragen.

Vermutlich ist's ja was dummes aber ich komm einfach nicht dahinter..... :o

Thanks

Unbekannter Benutzer ·

Ich krieg das stylesheet immernoch nicht rein......
Hab schon diverses ausprobiert. Momentan schaut's so aus:

mein script....
#default page object
page = PAGE
page.typeNum = 0
page.config.language = de

#get stylesheet
content.stylesheet.file = style*.css
page.stylesheet = fileadmin/temp-peay/stylesheet.css

ausserdem hab ich mal in die Rescources geladen....
kann es auch editieren hat aber keinen einfluss. 😢

In der Source vom HTML habe ich den Eintrag
<link rel="stylesheet" href="fileadmin/temp-peay/stylesheet.css">
aber wie gesagt.....kein erfolg. Das stylesheet wird einfach nicht eingebunden.

Kann den wirklich niemand helfen?

hardcoder ·

aber liegt Deine css-datei auch da - ohne tipper und dreher und case-fehler und richtiger dateiendung und leserecht? ich meine in fileadmin/temp-peay/stylesheet.css

Unbekannter Benutzer ·

Hallo..

@hardcoder
Ja die datei liegt da. Was allerdings seltsam anmutet ist
der Fakt dass diese Datei via Browser nicht richtig erkannt
wird. d.h. Via Broser sehe ich zwar die Datei kann Sie aber
weder öffnen noch downloaden -> "save target as"
Da bekomme ich einen "404 - Not found"

*********************************************

Hier noch der Inhalt der Datei...

P {
font-family: Verdana, "Courier New", Serif;
color: black;
font-size: 12px;
}

TD {
font-family: Verdana, "Courier New", Serif;
color: black;
font-size: 12px;
}

A {
font-family: Verdana, "Courier New", Serif;
font-size: 10px;
color: #B82020;
}

A:visited {
font-family: Verdana, "Courier New", Serif;
font-size: 10px;
color: #B82020;
}

A:active {
font-family: Verdana, "Courier New", Serif;
font-size: 10px;
color: #B82020;
}

/* inhalt */
#inhalt {
font-family: Verdana, "Courier New", Serif;
padding-top: 10px;
padding-left: 10px;
padding-right: 10px;
color: black;
font-size: 12px;
}

#inhalt A {
font-family: Verdana, "Courier New", Serif;
color: #B82020;
font-size: 12px;
}

#inhalt A:visited {
font-family: Verdana, "Courier New", Serif;
color: #B82020;
font-size: 12px;
}

#inhalt A:active {
font-family: Verdana, "Courier New", Serif;
color: #B82020;
font-size: 12px;
}

.hauptmenu {
font-family: Verdana, "Courier New", Serif;
font-size: 12px;
color: #787878;
font-weight: bold;
}

.menulevel1-no A {
font-family: Verdana, "Courier New", Serif;
font-size: 10px;
color: #B82020;
padding-left: 5px;
}

.menulevel1-act A {
font-family: Verdana, "Courier New", Serif;
font-size: 10px;
color: #B82020;
font-weight: bold;
padding-left: 5px;
}

.menulevel2-no A {
font-family: Verdana, "Courier New", Serif;
font-size: 10px;
color: #B82020;
padding-left: 20px;
}

.menulevel2-act A {
font-family: Verdana, "Courier New", Serif;
font-size: 10px;
color: #B82020;
font-weight: bold;
padding-left: 20px;
}

.menulevel3-no A {
font-family: Verdana, "Courier New", Serif;
font-size: 10px;
color: #B82020;
padding-left: 35px;
}

.menulevel3-act A {
font-size: 10px;
color: #B82020;
font-weight: bold;
padding-left: 35px;
}

.printlink {
color: #787878;
text-decoration: none;
padding-left: 5px;
}

Falls es euch schüttelt beim code....bin halt kein css-freak 😉
Danke für's reinschauen

peay

hardcoder ·

was heisst "sehe die datei mit dem browser .."?

Ja die datei liegt da. Was allerdings seltsam anmutet ist
der Fakt dass diese Datei via Browser nicht richtig erkannt
wird. d.h. Via Broser sehe ich zwar die Datei kann Sie aber
weder öffnen noch downloaden -> "save target as"
Da bekomme ich einen "404 - Not found"

404 = datei existiert nicht (mit der kompletten pfadangabe)

Vorschlag:

1) Browsercache leerern (Tipp: während der Entwicklung stelle ich den IE so ein: Extras -> Internetoptionen -> Temporäre Internetdateien -> Einstellungen -> 'Bei jedem Zugriff auf die Seite' um Browserchaching-"Probleme" zu minimieren)

2) Überprufen ob wirklich kein Tipper in der Datei und/oder im Pfad vorhanden ist.

3) Überprüfung der Leserechte des gesamten Pfades/der Datei (mindestens 644 falls Dein Projekt auf ner UNIX/LINUX Maschine "läuft".)

4) versuch das css mal so einzubinden:

#default page object 
page = PAGE 
page.typeNum = 0 
page.config.language = de 

#get stylesheet 
page.stylesheet = fileadmin/temp-peay/stylesheet.css

(include static -> cSet stylesheet ist nicht unbedingt notwendig)

5) "griff nach dem Strohhalm-Methode" -> datei umbenennen (Einbindung im Typo-Template nicht vergessen!)

Unbekannter Benutzer ·

Habe die Pfad rechte mal gecheckt....soweit alles i.o.

Mein Setting im TS:

#****************************
#default page object
#****************************

page = PAGE
page.typeNum = 0
page {
config.language = de
config.index_enable = 1
stylesheet = http://www.mydomain.ch/fileadmin/temp-peay/stylesheet.css
}

Wenn ich den Pfad im Browser anschau (http://www.mydomain.ch/fileadmin/temp-peay), sieht's so aus:
<img src="http://www.peay.ch/fileadmin/temp-peay/css.jpg">

Dieses kleine, doofe Fragezeichen irritiert mich einfach.
Wenn ich nun die CSS datei anklicke bekomme ich den 404.... 😢

Patric · · Beste Antwort

Das Fragezeichen heißt nur, das es für dieses Dateiformat kein Icon gibt...

wenn du es anklickst, und dann nen 404er bekommst, dann stimmt da was mit den rechten nicht. Der Web-User darf die Datei nicht lesen.

Was passiert wenn du auf die template.html klickst? geht die?

Gruß Patric

PS: lade die CSS Datei noch einmal hoch, bzw. öffne es in der Shell falls du darauf zugriff hast. Vll. ist ja was beim Übertragen schief gegangen....

Unbekannter Benutzer ·

Hallo Patric

Tja das mit dem Template funktioniert...
Die Rechte vergabe ist bei beiden identisch.
Hochgeladen habe ich diese Datei bereits unzählige Male.
Hab Sie zwischendurch auch mal gelöscht (präventiv o.O )

Das lustige ist, das wenn ich zb. nen "Datei speichern unter" machen will,
auch die Fehlermeldung "... konnte nicht gefunden werden..." bekomme.

Das macht mich langsam echt fertig.

hardcoder ·

*stocher im Dunklen Part 1*

1) Windowstaste+E (Explorer)
2) Extras -> Ordneroptionen -> Dateitypen -> schauen ob Dateityp CSS existiert (Kaskadierendes Hypertext-Stylesheet-Dokument)

*stocher im Dunklen Part 2*

1) fileadmin/temp-peay/css/ anlegen
2) dahinein xyz.css schreiben
3) Rechte vergeben/Prüfen (644)
4) Pfad im Typo-Template entsprechen anpassen

*stocher im Dunklen Part 3*

1) Anderen Browser (Mozilla) nehmen

*stocher im Dunklen Part 4*

1) ssh einloggen
2) ls -l /...../fileadmin/temp-peay/ ---> und prüfen ob stylesheet.css benutzer/gruppe == template.html benutzter/gruppe falls unterschiedlich dann chown (benuter_von_template.html)🙁gruppe_von_template.html) stylesheet.css

3) chmod 777 /...../fileadmin/temp-peay/stylesheet.css (!)

4) vi /...../fileadmin/temp-peay/stylesheet.css (geht das?)

hardcoder ·
Patric schrieb

wenn du es anklickst, und dann nen 404er bekommst, dann stimmt da was mit den rechten nicht. Der Web-User darf die Datei nicht lesen.

wenn was mit den Rechten nicht funzt krieg ich 401 oder
403 ....

404 = Datei existiert nicht / ist kaputt

bringt mich auf noch'n *stocher im dunklen*

was steht denn in webserver logfiles (z.B.: /var/log/httpd/access_log /var/log/httpd/error_log)

?

Unbekannter Benutzer ·

@hardcoder

Betr. Error log:
Mit dem was ich vom Provider zur Verfügung gestellt bekomme
kann ich keine Fehler entdecken.

Die anderen Punkte *im dunklen stocher* test ich gleich mal
aus. Brauche aber 1-2 min. werde mich gleich wieder melden.

Unbekannter Benutzer ·

Also....

@hardcoder

Punkt 1 CSS im Explorer ist i.O.
Punkt 2 CSS verschieben und Rechte vergeben -> Leider kein Erfolg - gleiches Verhalten wie vorher
Punkt 3 Browser - hab ich noch nicht versucht habe aber IE6 inst. und sollte mit dem keine probs haben
Punkt 4 S**t , sitze hinter ner Firewall und Proxy. Habe keinen Zugriff....

Strange things happens

hardcoder ·

ok ... bin langsam mit meinem Latein am ende ....

benenne sytlesheet.css in stylesheet.html um und auch (wie gewohnt) im Typo-Template .... mal sehen wie ihm das schmeckt ;-)

Unbekannter Benutzer ·

@hardcoder
oder Wie darf ich euer Ehren ansprechen...?

Dieser Rename auf .html war die Lösung. :p

Sobald ein File auf "meinem" Server die Extension .css trägt
ist es nicht mehr ansprechbar. Rename auf .html oder .txt (was ich jetzt gemacht habe)
löst das problem und das File wird ansprechbar.

Muss dieses Phänomen umgehend meinem Provider melden.

Vielen Dank an ALLE die mir bei diesem Problem zur Seite standen. War echt spitze.

Gruss peay