Seite 1 von 1
entities in links vermeiden?
Verfasst: Do 6. Apr 2006, 06:34
von okapi
wenn ich z.b. bilder mit CMS_LINK verlinke, erhalte ich urls mit entities in der form von z.b.
<a href="front_content.php?idcatart=36&client=1&lang=1">
gibt es einen hack/patch oder sonst einen trick, die "&"s zu vermeiden, damit der code valide wird?
ps. wenn ich mit tinymce2 verlinke, bleibt der code "sauber". ich habe aber viele einzeln zu verlinkende bilder, bei denen ich keinen wysiwyg-editor brauche. mit CMS_LINK geht's einfach viel schneller.
Verfasst: Do 6. Apr 2006, 07:14
von Halchteranerin
der Code waere auch valide, wenn & statt & stuende, und funktionieren wuerden die Links ebenfalls. Es macht also eher Sinn, das Modul zu aendern. Oder du benutzt mod_rewrite (siehe dazu im Forum).
Verfasst: Do 6. Apr 2006, 09:49
von okapi
da stimme ich dir zu!
wie aber soll ich das modul (welches?) verändern?
ich denke, den durch CMS_LINK erzeugten url produziert doch der contenido core code?
Verfasst: Do 6. Apr 2006, 10:13
von Halchteranerin
Mit den "Innereien" kenne ich mich nicht aus

, aber vielleicht kann dir jemand die entscheidende Stelle nennen (oder du suchst sie selbst

). Eigentlich waere es eher Feature Request, denn es schadet nicht, wenn solche Links von Contenido grundsaetzlich richtig gebaut werden wuerden.
Verfasst: Do 6. Apr 2006, 10:28
von okapi
oh, yes!
ich hab mich schon auf die suche begeben... bisher leider ohne erfolg. ein tipp eines experten wäre natürlich toll. vielleicht ist es ja gar nicht so schwierig, die "&" zu "&" werden zu lassen...
Verfasst: Do 6. Apr 2006, 10:46
von stese
das steht in der datenbank:
tabelle con_type CMS_LINK
Verfasst: Do 6. Apr 2006, 11:01
von Halchteranerin
@stese: reicht das dann aus, wenn man an der Stelle
Code: Alles auswählen
$tmp = "front_content.php?idcatart=". $tmp."&client=".$client."&lang=".$lang;
in
Code: Alles auswählen
$tmp = "front_content.php?idcatart=". $tmp."&client=".$client."&lang=".$lang;
aendert?
Verfasst: Do 6. Apr 2006, 11:04
von stese
theoretisch ja, die sauberere variante wäre allerdings, wenn man dort noch die mandanteneinstellung xhtml abfragen würde um zu entscheiden ob & gesetzt werden soll oder nicht. obwohl das im html quelltext eigentlich egal wäre. aber wer weiss, vll. realisiert ja jemand eine automatische weiterleitung mit diesem CMS Typ, dann darf da kein & stehen sondern muss ein normales & stehen bleiben ...
auf jeden fall fummelarbeit und nciht wirklich schön dort drinnen zu machen
Verfasst: Do 6. Apr 2006, 11:25
von okapi
danke für den tipp, aber...
ich hab das eben in der db-tabelle geändert:
Code: Alles auswählen
/**
* CMS_LINK
*/
$tmp = urldecode($a_content["CMS_LINK"][$val]);
/* internal link */
if ( is_numeric($tmp) ) {
$tmp = "front_content.php?idcatart=". $tmp."&client=".$client."&lang=".$lang;
if ($edit) $tmp = $sess->url("$tmp");
} else {
if (!preg_match('/^(http|https|ftp|telnet|gopher):\/\/((?:[a-zA-Z0-9_-]+\.?)+):?(\d*)/', $tmp)) {
// it's a relative link, or an absolute link with unsupported protocol
if (substr($tmp,0,4) == "www." || $tmp == "") { // only check if it could be a domainname
$tmp = "http://".$tmp;
}
}
}
aber das output-ergebnis ist trotzdem immer noch:
Verfasst: Do 6. Apr 2006, 11:39
von Halchteranerin
stese hat geschrieben:theoretisch ja, die sauberere variante wäre allerdings, wenn man dort noch die mandanteneinstellung xhtml abfragen würde um zu entscheiden ob & gesetzt werden soll oder nicht.
Davon abgesehen, dass ich mit der neuen Version noch nicht viel gemacht habe, und erst recht gar nichts mit XHTML, aber weisst du zufaellig, ob das so ist, dass bei xhtml tatsaechlich "&" bei Links automatisch von Contenido gesetzt wird? Denn da in der Naehe muesste man wohl anfassen, um zu bewirken, dass das grundsaetzlich als & und nicht als & geschrieben wird, oder?
Verfasst: Do 6. Apr 2006, 11:52
von stese
@halchteranerin
also soweit ich das bisher überblickt habe, ist das xhtml momentan nur relevant, um tags zu schließen (also z.b. meta tags ein /> anzufügen)
ich muss aber auch gestehen, dass ich noch nie mit dem CMS_LINK oder anderen typen dieser art ausser den "normalen" textspezifischen typen gearbeitet habe.
@okapi
leere mal bitte die con_code - es kann möglich sein, dass die ausgabe dort schon drinnen gebuffert wurde
Verfasst: Do 6. Apr 2006, 12:08
von okapi
@ stese
danke für den tipp!
nur zur sicherheit: leeren der tabelle con_code - kann da wohl nix passieren?
Verfasst: Do 6. Apr 2006, 12:10
von rezeptionist
solange du sie nur leerst passiert nichts
Verfasst: Do 6. Apr 2006, 12:20
von okapi
yeah!
es hat geklappt.
bestes ergebnis, TIDY ist zufrieden, und ich auch!
vielen dank euch allen für die hilfe!
möchte mich an dieser stelle generell für die großartige, kompetente und immer unglaublich schnell erfolgende hilfe bedanken!
dieses forum ist - ihr seid - einfach toll.
michael