hi
ich hab ja schon öffters seiten valid gestallten können mit typo3 ..
hat immer super funktioniert ...nun komm ich aber an eine stelle an der
ich so erstmal nicht weiter weis,
hab auch noch nix davon gehört ...vielcht liegt es euch ja auf der zunge oder
jemand hat nen link für mich wo ich mal nachlesen kann
folgendes scenario:
site soweit fehlerfrei xhtml1.0 transitional
allerdings hab ich nun die ext make print link eingesetzt, da ich
diesmal eine druckvariante mit einbauen möchte ... bzw muss
so nun steh ich vor dem w3c validator und bekomme (für mich eigentlich auch plausiebel) eine fehler meldung die das & in der URL betreffen
aslo w3c gefällt es anscheinend nicht das ein & im link vorkommt weil es so ein ; zum schließen des sonderzeichen erwartet...
aslo der teil
index.php?id=2&type=98
aslo &type=98 gefällt ihm nit...
jetzt meine eigentlich frage ...
weis jemand ob man das zeichen erstzen kann zb in eine $ oder so
oder geht das schon so gar nicht wegen den get variablen ?
es ist der einzige und auch letzte fehler ...wäre super froh wenn mir da jemand helfen könnte ...
also ich kenn das auch von seiten die zb index.php?id=23456789009876543
und dann dahinter ne md5 codierten teil hinbauen ..geht das auh mit typo ?
hab die einstellung encrypt im install tool gefunden aber irgendwei reicht es glaub ich nit da den string anzugeben der eincodiert werden soll ...
würd mich riesig über antworten freuen
1000 dank an die community ..und weiter so 😉
typo3 rulez
gruß space
Das Problem ist nicht die Variable, sondern das Zeichen "&".
Das kannst du aber umgehen, wenn du statt "&" folgenden HTML-Zeichencode benutzt: " & a m p ; " (aber ohne Leerzeichen dazwischen) 😉
Siehe auch http://de.selfhtml.org/html/allgemein/zeichen.htm
Dann müsste deine Site wieder valide sein.
ahha ...
das hab ich mir fast gedacht ...allerdings :
na ich zeig euch mal wie ich die print links eingebunden hab im TS
############################make printlink
page.10.subparts.print = TEXT
page.10.subparts.print.value = <img src=" fileadmin/templates/bilder/drucker.jpg" alt="hier können Sie die Seite ausdrucken" border="0">
page.10.subparts.print.wrap = |
page.10.subparts.print.postUserFunc = tx_make_printlink
page.10.subparts.print.postUserFunc.include_post_vars = 1
page.10.subparts.print.postUserFunc.target = _blank
page.10.subparts.print.postUserFunc.popup = 1
page.10.subparts.print.postUserFunc.windowparams = (resizable=yes,toolbar=yes,scrollbars=auto,menubar=no,width=800,height=650)
page.10.subparts.print.postUserFunc.windowname = printwindow
print_page = PAGE
print_page.stylesheet = fileadmin/templates/css/print.css
print_page.bodyTag = <body class="body" lang="de" onload="javascript:print()">
print_page {
typeNum = 98
10 = TEXT
10.value = http://www.communio-in-christo.de
10.wrap= <div class="pic"><img src="fileadmin/templates/bilder/sozial3.gif"></div><div class="headline">|</div>
20 = CONTENT
20 < styles.content.get
20.wrap = <div class="printcontent">|</div>
}
und an dem typeNum = 98 "liegt" ja jetzt das "Problem"
allerdings ist das nicht das einzigste ich muss es halt auch mit den dem &L=
für die Language machen ... 🙁
also quasie gleich zwei mal ein & in der uri ...
hm ..ich schau mir die EXT noch mal genau an ..😉
würdmich aber um ein paar tips wie jetz gerade freuen 😉
auch schon einmal adnke an adventuremaker 😉
gruß space
Ja, da hast du natürlich Recht, so einfach lässt sich bei dieser Variante kein & a m p ; aus dem & machen.
Aber vielleicht hilft die die Extension Advanced HTML Cleaner (qcom_htmlcleaner) weiter. Der kümmert sich unter anderem um diese Umlaute.
Siehe http://typo3.org/extensions/repository/new/qcom_htmlcleaner/.
Hab ich allerdings noch nie ausprobiert. Gibt sicher auch noch andere Extensions, die ähnliche Funktionen haben...
hm ...so ...sehr interessant ...
auf meiner startseite wo noch keine printlinks sind ...hab ich aber links zu der länderauswahl ..
also &L=x
so .. diese links auf der startseite ..sind w3c valid ..."also quasie wenn man auf die fähnchen drückt"
allerdings meckert er nur auf den seiten wo ich per printlink .. dann evtl acuh auf andere sprachen verweise ..
ich seh mir die printlink ext mal genau an ich glaub das es an der liegt ...
ja die EXt qcom_htmlcleaner hab ich schon installiert ..läuft auch eigentlich wunderbar ..
aber diesen einin link holt er mir nit raus ...wie gesagt ich vermute die printlink ext
ich meld mich wenn ich da was gefunden hab 😉
nd noch mal danke an dich 😉
hm ...so ...sehr interessant ...
auf meiner startseite wo noch keine printlinks sind ...hab ich aber links zu der länderauswahl ..
also &L=x
so .. diese links auf der startseite ..sind w3c valid ..."also quasie wenn man auf die fähnchen drückt"
allerdings meckert er nur auf den seiten wo ich per printlink .. dann evtl acuh auf andere sprachen verweise ..
ich seh mir die printlink ext mal genau an ich glaub das es an der liegt ...
ja die EXt qcom_htmlcleaner hab ich schon installiert ..läuft auch eigentlich wunderbar ..
aber diesen einin link holt er mir nit raus ...wie gesagt ich vermute die printlink ext
ich meld mich wenn ich da was gefunden hab 😉
nd noch mal danke an dich 😉
so ich hab geschaut ... was mich aber stuzig macht ist das die & schon per & anegegeben werden in der ext:
function add_vars2($vars,$path) {
$res='';
reset ($vars);
while (list ($key, $val) = each ($vars)) {
if (!is_array($val)) {
$res .= '&'.$path.'['.rawurlencode($key).']'.'='.rawurlencode($val);
} else {
$res .= add_vars2($val, $path.'['.rawurlencode($key).']');
}
}
return $res;
}
function add_vars($vars) {
$res='';
reset ($vars);
while (list ($key, $val) = each ($vars)) {
if (is_array($val)) {
$res .= add_vars2($val, rawurlencode($key));
} else {
if (($key != 'id') && ($key != 'type')) {
$res .= '&'.rawurlencode($key).'='.rawurlencode($val);
}
}
}
return $res;
}
sorry für das verkorkste posting ...
aber irgendiwe ..hm ..hab safari2.0
irgendwie wollte der nit so richtig ..meinen thrad editieren ..
SORRY noch mals #angry#
Poste doch mal deinen HTML-Output. Und zwar einmal den vom Printlink und den zur Länderauswahl.
<div class="print" lang="de"><a href="index.php?id=2&type=98&L=2&L=2" onfocus="blurLink(this);" target="_blank"><img src=" fileadmin/templates/bilder/drucker.jpg" alt="hier können Sie die Seite ausdrucken" border="0" /></a></div>
der printlink unter index.php?id=2
<div class="LANGUAGE" lang="de"><table border="0" cellspacing="0" cellpadding="0"><tr><td><img src="clear.gif" alt="" height="1" width="30" /></td><td><a href="index.php?id=1&L=0" target="_top"><img src="media/flags/flag_de.gif" alt="" height="13" width="21" border="0" hspace="5" /></a><a href="index.php?id=1&L=2" target="_top"><img src="media/flags/flag_pl.gif" alt="" height="13" width="21" border="0" hspace="5" /></a><a href="index.php?id=1&L=3" target="_top"><img src="media/flags/flag_uk.gif" alt="" height="13" width="21" border="0" hspace="5" /></a></td></tr></table></div>
und das der link auf der id=1 ... wo die sprachen selektiert werden
ich hoffe die divs sind nit verwirrend ..ich hab se einfach mal mit gepostet ..weil da wärer dann alles zusammen #giggle#
lol ...
typo3.net wandelt mir die & wieder hier in & um ...hehe
also eigenlich stehen da überall im quelltext & drinne
nit wie ich gerade gepostet hab & sondern &
das ist ja lustig ..hehe ..
noch ein versuch mal ohne php 😉
<a href="index.php?id=1&L=3" target="_top"><img src="media/flags/flag_uk.gif" alt="" height="13" width="21" border="0" hspace="5" /></a>
Tja, gute Frage. Sieht eigentlich ganz gut aus...
Vielleicht noch ein Hinweis, der dich aber wahrscheinlich nicht weiterbring: Das target-Attribut ist nur bei den Varianten transitional und frameset (siehe http://de.selfhtml.org/html/referenz/attribute.htm#a) erlaubt, nicht bei strict. Aber da du ja eh "nur" transitional willst...
Wie lautet denn die genaue Fehlermeldung des W3C-Validators?
da die site leider offline hier in meiner testumgebung liegt ...
muss ich es dir leider so schreiben
hm es sind 6 fehler ...die alle anscheinend an der gleichen stelle liegen 😉
also es geht wirklich nur um das & ... kein ; ....
also so interpreiteri ich die fehler ...
ich kopier sie mal ohne die erläuterung und markiere die eigentlich rot gekennzeichnetten fehler mit <B>
1. cannot generate system identifier for general entity "type"
...onclick="window.open('index.php?id=2&type=98','printwindow','(resizable=yes,t
2. general entity "type" not defined and no default entity
...onclick="window.open('index.php?id=2&type=98','printwindow','(resizable=yes,t
3. reference not terminated by REFC delimiter
...ick="window.open('index.php?id=2&type=98','printwindow','(resizable=yes,toolb
4. reference to external entity in attribute value
...ick="window.open('index.php?id=2&type=98','printwindow','(resizable=yes,toolb
5. reference to entity "type" for which no system identifier could be generated
...ick="window.open('index.php?id=2&type=98','printwindow','(resizable=yes,toolb
6. entity was defined here
... onclick="window.open('index.php?id=2&type=98','printwindow','(resizable=yes
es tut mir echt leide das das posting so unüberscihtlich wird -...ich kann nur leider keinen threads bearbeiten ich lande immer auf der typo3.net start seite
bei den fehlern wo man das B nicht erkennt ...ist das = zeichen betroffen .....
hm ... vieleicht bekommt das ja ein moderator mit ..das ich hier nit editieren kann ...
stehe gerne bei der fehler analyse zu rate ... wie gesagt ..mac os tiger (safari2.0)
Das müsste wirklich nur an dem verflixten & liegen.
Im HTML-Quelltext muss anstatt dem & einfach & a m p ; stehen. Natürlich ohne Leerzeichen, aber sonst kannst du das hier net sehen...
Wenn du das Problem hingriegst, wie auch immer, wird dein HTML valide. Aber wo jetzt das Problem bei Typo3 oder den Extension oder im Setup liegt, kann ich irgendwie auch nicht so recht feststellen... #angry#
Sorry.
no problem 😉
trotzdem danke für deine mühen ..ich werd mich da heute noch ein wenig durch fuchsen ...
muss ja irgend wie lösbar sein 😉
auf jeden fall die lösung ..wenn ich es hin bekomme.... post ich hier 😉
IMHO liegt es nicht an & bzw. & amp ;.
Dieses Zeichen sollte in Links nicht durch den HTML-Code ersetzt werden, da eben dieser Code _nicht_ interpretiert wird, uninterpretiert aber den Link verfaelscht.
Welcher Fehler bei Dir jetzt vorliegt, kann ich nicht sagen, aber Du solltest das & ignorieren und dich an das halten , was Dir vorliegt:
cannot generate system identifier for general entity "type"
Kann es sein, das "type" jetzt ein reserviertes Wort ist?
Sorry, dass ich nicht weiter helfen kann.
Sven
opitzs schrieb
IMHO liegt es nicht an & bzw. & amp ;.
Dieses Zeichen sollte in Links nicht durch den HTML-Code ersetzt werden, da eben dieser Code _nicht_ interpretiert wird, uninterpretiert aber den Link verfaelscht.
Welcher Fehler bei Dir jetzt vorliegt, kann ich nicht sagen, aber Du solltest das & ignorieren und dich an das halten , was Dir vorliegt:
Eben! Das & wird doch angemeckert!
opitzs schrieb
cannot generate system identifier for general entity "type"
Hier wird versucht, den HTML-Zeichensatz "& type ;" zu finden, welcher natürlich nicht existiert, da nur die unter http://de.selfhtml.org/html/allgemein/zeichen.htm (und vielleicht ein paar mehr) Zeichen definiert sind. In HTML wird JEDES & als Definitionanfang eines Sonderzeichens interpretiert, auch in Links! Willst du also bloß ein & haben, musst du es als Sonderzeichen (weil es eben eins ist) beschreiben.
opitzs schrieb
Kann es sein, das "type" jetzt ein reserviertes Wort ist?
Nein, eben nicht. "& type ;" gibt es nicht!
Mein Tipp: den HTML-Output kommlett kopieren, in einer lokalen HTML-Datei abspeichern, alle "&" in "& amp ;" umwandeln und neu validieren lassen (man kann auch lokale Files validieren lassen...).
Und anschließend über valides HTML freuen!
PS: Wie immer: ohne Leerzeichen!
ich habs jetzt doch anders gelöst
da ich denke das das & amp ; in dem phpscript ...qausie schon vorher aufgelöst wird
bevor die seite ausgegeben wird
hab ich mir etwas anders beholfebn und es dann doch selber angesprochen ...
also ohne die ext ..wo bei ich zur zeit frage ob ich die dann überhaupt noch instaööiert haben muss 😉
server platz 😉 klein vieh macht auch mist 😉
hier mine lösung:
page.10.subparts.print = TEXT
page.10.subparts.print.value =<img src="fileadmin/templates/bilder/drucker.jpg" border="0" alt="Drucker Knopf">
page.10.subparts.print.insertData = 1
page.10.subparts.print.wrap = <a href="index.php?id={page:uid}&type=98" target="_blank">|</a>
da ich jetzt noch das problem hatte mit der sprache muste ich das dann leider ...ich find es nit so elegant gelöst ...
[globalVar = GP:L = 3]
config.sys_language_uid = 3
config.language = en
page.10.subparts.print = TEXT
page.10.subparts.print.value ={page:lang}<img src="fileadmin/templates/bilder/drucker.jpg" border="0" alt="Print Button">
page.10.subparts.print.insertData = 1
page.10.subparts.print.wrap = <a href="index.php?id={page:uid}&type=98&L=3" target="_blank">|</a>
und das dann für alle sprachen 😉
danke noch mal an euich beiden ... im prinzip wusten wa ja was da falsch ist und wie man der sache beikommt
aber da scheint es ein problemchen in der reihenfolge zu geben ...wie typo die ext einbindet ..
ich glaub die wird als erstes geparst und dann schon mit fertigem & in die site gepackt ..
:o oder so ähnlich 😉 ich weis es leidder nit genau ...
aber ich hab ja gesagt lösung kommt ...hat zwar arg jedauert 😉 aber dafür hab ichs jetzt 🙂
danke noch mal =)
lol das ist ja mal wieder zum schreien 😉
hehe also alle & im typo script ...sind eigentlich & amp ;
🙂
stand auch gerade vor dem Problem und hab einen etwas anderen Lösungsweg gewählt und zwar hab ich im Quellcode eine kleine Änderung vorgenommen.
Die Zeile 71 ist ergänzt:
70: $LD=$templ->linkData($GLOBALS['TSFE']->page,''.'','','','',$params,$conf['type']);
71: $LD[totalURL]= str_replace("&","&",$LD[totalURL]);
72: $uri=$LD[totalURL];