Seite 1 von 1

&amp; <= das doch humbug

Verfasst: Mi 29. Apr 2009, 10:58
von _wiewo_
Hallo Community

Hab gerade ne kleine Linkliste gemacht, AMR läuft nicht,
hab mal cHTMLLink benutzt um mir links zu basteln

Code: Alles auswählen

$oLink = new cHTMLLink();
foreach($oKategorien as $oKategorie)
{
	// Parameter zur Linkerzeugung
	$aParams = array('idcat' => $oKategorie->getIdCat(), 'lang' => $iLang, 'client' => $iClient);

	// Link zusammenbauen
	$oLink->setLink(Contenido_Url::getInstance()->build($aParams));
	$oLink->setContent($oKategorie->getCategoryLanguage()->getName());

	// Template mit Daten füttern
	$oTemplate->set('d', 'link', $oLink->toHTML());
	$oTemplate->next();
}
erzeugt wird dadruch sowas => front_content.php?idcat=4&lang=1&client=1

der packt mir da & hin was ja mal nich wirklich richtig ist, jemand ne idee woran das liegt?

mfg
Christian Kehres

Re: &amp; <= das doch humbug

Verfasst: Mi 29. Apr 2009, 11:07
von racketeer
&amp ist das "Kaufmanns-Und" (&)

Da stimmt was an Deiner Zeichenkodierung nicht, das "&" (Kaufmanns-Und) ist schon richtig in der Adressleiste jedoch wird es falsch dargestellt.

Gruß aus Berlin
Frank

Re: &amp; <= das doch humbug

Verfasst: Mi 29. Apr 2009, 11:08
von _wiewo_
im quelltext steht &amp; daher die ausgabe & =/

Re: &amp; <= das doch humbug

Verfasst: Mi 29. Apr 2009, 11:20
von idea-tec
da wird wohl irgendwo das "&" von einem bereits vorhandenen "&" nocheinmal codiert, dann kommt da: "&amp;" bei raus.

@wiewo:
du solltest dann auch den quelltext posten, in deinem link war das nicht direkt ersichtlich

Re: &amp; <= das doch humbug

Verfasst: Mi 29. Apr 2009, 11:29
von _wiewo_
sorry =) :roll:

liegt es vll daran das sich Contenido_Url::getInstance()->build($aParams) und $oLink->toHTML() in die haare kommen?
wüsste sonst nicht worans liegt =/

hab das jetzt mal auf nem mandanten mit amr laufen lassen, da läufts, der korrigiert das wohl richtig

Re: &amp; <= das doch humbug

Verfasst: Fr 22. Mai 2009, 10:07
von _wiewo_
hab das prob immernoch, jemand nen tip?

Re: &amp; <= das doch humbug

Verfasst: Sa 23. Mai 2009, 09:52
von xmurrix
Hallo,

probier doch mal anstatt

Code: Alles auswählen

$oLink->setLink(Contenido_Url::getInstance()->build($aParams));
folgendes:

Code: Alles auswählen

$link = Contenido_Url::getInstance()->build($aParams);
$link = str_replace('&', '&', $link);
$oLink->setLink($link);
Das AMR Plugin generiert URLs mit der Entität &, sofern in den Einstellungen das Erstellen von XHTML gesetzt ist (getEffectiveSetting('generator', 'xhtml')).

Will man XHTML validen Code produzieren, ist die Verwendung von & dem & Zeichen vorzuziehen, und das ist auch richtig so.

Es wäre mir neu, dass das Plugin URLs mit &&uml; generiert, das liegt das sehr wahrscheinlich an der Klasse cHTMLLink oder?

Gruß
xmurrix

Re: &amp; <= das doch humbug

Verfasst: Sa 23. Mai 2009, 09:54
von _wiewo_
problem gesten abend gelöst

statt zb

Code: Alles auswählen

$oLink->setLink($sBacklink);
nun

Code: Alles auswählen

$oLink->setLink(html_entity_decode($sBacklink));

Re: &amp; <= das doch humbug

Verfasst: Mi 27. Mai 2009, 13:41
von Opus
xmurrix hat geschrieben: Das AMR Plugin generiert URLs mit der Entität &, sofern in den Einstellungen das Erstellen von XHTML gesetzt ist (getEffectiveSetting('generator', 'xhtml')).

Will man XHTML validen Code produzieren, ist die Verwendung von & dem & Zeichen vorzuziehen, und das ist auch richtig so.
Ich hatte aber das Problem, dass der Code nicht xhtml valide war, weil eben statt & ein & ausgegeben wurde und das meckerte der Validator in vielfacher Fehlermeldung an, so viele wie es Links auf der Seite gibt.
Ich habe im mr-url-builder dann einfach mal & mit & vertauscht und siehe da, keine Fehlermeldung mehr im Validator.

Code: Alles auswählen

$this->_sAmp       = ($this->_bIsXHTML) ? '&' : '&';
$this->_sAmp       = ($this->_bIsXHTML) ? '&' : '&';
Ob das wirklich richtig so war, weiß ich nicht aber alle Links funktionieren gut so.
In der Adressleiste des Browser steht aber nach wie vor nur das &-Zeichen.

Re: &amp; <= das doch humbug

Verfasst: Mi 27. Mai 2009, 13:55
von GaMbIt_
URL Builder und AMR haben eigentlich nix mit einander zu tun...

wenn Du einen Link schreibst... front_content.php?bla=blubb&bla2=blubb2
Dann wird in der AMR das & wohl zu &

benutzt Du aber den URL Builder sieht die Sache schon wieder anders aus...

Re: &amp; <= das doch humbug

Verfasst: Mi 27. Mai 2009, 14:20
von Opus
Es handelte sich aber um Contenido_UrlBuilder_MR.class.php das vom AMR eingesetzt wurde und es wird vom AMR benützt, da ich gleich die Wirkung meiner Veränderungen überprüft habe.