Wenn du die Seite im Iframe mitr der URL
Code: Alles auswählen
http://dein.contenido.projekt.de/cms/front_content.php?idart=34&service_action=content&service_idart=123&service_client=3&service_lang=2&service_idartlang=234&service_type=CMS_HTML&service_typeid=4
aufrufst, und in der Ausgabe des iframes du aber Links wie
dann wird das natürlich nicht klappen. Anker für die gleiche Seite funktionieren nur dann, wenn auch die URL im Link identisch mit der Adresse der Seite ist.
Bei dir ist die Seite (ohne Parameter)
Code: Alles auswählen
http://dein.contenido.projekt.de/cms/front_content.php
und Links mit Anker gehen auf
das sind zwei verschiedene Seiten, auch wenn dein.contenido.projekt.de und mein.contenido.projekt.de das selbe sind, wird es nicht funktionieren, da "cms/front_content.php" eine andere Resource darstellt als "glossar".
Wenn du aber die Links nur mit einem Anker erstellst, also mit
dann würde es funktionieren.
Außer du verwendest Clean-URLs und hast einen base-Tag, dann versucht der Browser base-Tag + Anker zu interpretieren, was in deinem Fall "
http://mein.contenido.projekt.de/" + "#gb" ist und nicht die tatsächliche URL.
Das Problem kannst du dann mit dem JavaScript Beispiel lösen.
Du kannst auch die Generierung des base-Tags abschalten, dann musst du dafür sorgen, dass alle Pfade zu Resourcen wie Bilder, CSS- und JavaScript-Dateien absolut vom Root anfangen, also nicht
Code: Alles auswählen
<script src="js/common.js"></script>
<link rel="stylesheet" href="css/styles.css" />
sondern
Code: Alles auswählen
<script src="/js/common.js"></script>
<link rel="stylesheet" href="/css/styles.css" />
Bevor jetzt die Frage nach dem Sinn oder Unsinn des base-Tags kommt, hier eine kurze Erklärung.
Zum einen gibt man damit an, wass die Adresbasis des Dokuments ist. Auch wenn in der Adresszeile des Browsers, z. B.
Code: Alles auswählen
http://mein.contenido.projekt.de/produkte/pizza/quattro_formaggi/
sind ja z. B. Uploadbilder JS-Dateien unter "cms/upload" und nicht unter "produkte/pizza/quattro_formaggi/upload"
Daher gibt man den base-Tag mit "
http://mein.contenido.projekt.de/cms/" aus und die Bilderpfade mit "upload/pizzen/quattro_formaggi.jpg" an, damit der Browser das richtig interpretiert, also
Code: Alles auswählen
http://mein.contenido.projekt.de/cms/upload/pizzen/quattro_formaggi.jpg
und nicht fälschlicherweise mit
Code: Alles auswählen
http://mein.contenido.projekt.de/produkte/pizza/quattro_formaggi/upload/pizzen/quattro_formaggi.jpg
Der andere Vorteil des base-Tags ist der:
Falls du mal auf die Idee kommst, den Documentroot auf das Mandantenverzeichnis einzurichten, dann musst du keine absoluten URLs, die z. B. mit "/cms/upload/..." beginnen, manuell in "/upload/..." umzustellen. Es reicht einfach aus, den HTML-Pfad des Mandanten von "
http://mein.contenido.projekt.de/cms/" auf "
http://mein.contenido.projekt.de/" umzustellen, und die Generierung des base-Tags zu aktivieren.
Es ist dir überlassen, wie du es verwendest. Es gibt keine Regel oder Vorgabe, wie man das machen soll, das hängt vom Projekt und von den persönlichen Vorlieben ab und du musst immer damit rechnen dass nicht alle Module all diese Alternativen unterstützen...
Gruß
xmurrix