Links: Anker

Gesperrt
laurin

Links: Anker

Beitrag von laurin » So 17. Dez 2006, 14:03

Hallo,

wenn ich im WYSIWYG-Editor einen Link auf einen Anker setzte, dann geht er immer aufs unterste Verzeichnis.

Beispiel:

Meine Datei ist bei domain.de/ordner/2ordner/datei.html. Innerhalb dieser Datei will ich auf den Anker #klaus verlinken. Den wähle ich aus. Jetzt lade ich die Seite und clicke drauf, komme aber statt zu domain.de/ordner/2ordner/datei.html#klaus zu domain.de/#klaus


Hat jemand ABhilfe?
Bin am verzweifeln...
Laurin

oio
Beiträge: 78
Registriert: So 13. Aug 2006, 20:38
Kontaktdaten:

Beitrag von oio » So 17. Dez 2006, 17:50

wenn du dafür sorgst, dass in deinem quellcode die meta-angabe für die http-base nicht geschrieben wird, dann wäre das problem behoben.

allerdings kommt es dann in verbindung mit bspw. modrewrite an anderen ecken zu schwierigkeiten.
(datei-links zum upload-ordner)

genaue dateien, die editiert werden müssten, kann ich aus dem kopf aber grade nicht nennen.
ich tippe darauf, dass es in der front_content.php steht. suche in der datei nach: "<base href"

cu
cg

laurin

Beitrag von laurin » So 17. Dez 2006, 18:06

Mein Base-href zeigt aber auf domain.de/ordner/2ordner ...

Sehr komisch irgendwie.

laurin

Beitrag von laurin » Di 2. Jan 2007, 14:40

Das Problem ist nicht das basehref, sondern der wysiwyg-editor....Der setzt die Anker-Links nämlich immer nach ../../#anker

Ohne basehref funktioniert es auch nicht. Eigentlich müsste es ja eher mit funktionieren
Sehr seltsam...

Laurin

knb
Beiträge: 224
Registriert: Fr 9. Sep 2005, 14:03
Wohnort: Potsdam
Kontaktdaten:

Beitrag von knb » Fr 5. Jan 2007, 16:52

Hätte da auch einen Vorschlag:

in
contenido\external\wysiwyg\tinymce2\jscripts\tiny_mce\tiny_mce.js

Code: Alles auswählen

if(tinyMCE.getParam('convert_urls'))s=s.replace(new RegExp('(href=\"?)(\\s*?#)','gi'),'$1'+tinyMCE.settings['document_base_url']+"#");
ändern zu

Code: Alles auswählen

if(tinyMCE.getParam('convert_urls'))s=s.replace(new RegExp('(href=\"?)([/\.]*\\s*?#)','gi'),'$1'+"#");return s;}
Also:
document_base_url einfach weglassen.
(Optional ist die Änderung in der RegExp: beliebig viele "/" und "." vor dem "#" einfach mit löchen.)

Ist wohl nur sinnvoll wenn auch front_content.php geändert wurde sodass kein <base> tag ausgegeben wird.

Im Contenido-Backend, wenn man im Tiny-Editiermodus ist, dann funktioniert das Anspringen von Ankern zwar immer noch nicht (da nicht relativ zu front_content.php gearbeitet wird), aber im Frontend, also in der gerenderten Seite, funktioniert der Anker (wird einfach an front_content.php rangehängt, also z.B front_content.php?idart=55#ziel2

Bitte auch mal ausprobieren und testen, ich habe es jetzt nur auf die schnelle hingekriegt.
Gruss,
Knut

laurin

Beitrag von laurin » So 7. Jan 2007, 19:25

Hallo, danke für deine Bemühungen. Funktioniert allerdings nicht :( Ich erhalte wieder Anker, die so aussehen:

<a href="../../#anker">

Sie verweisen alle auf das unterste Verzeichnis.

Laurin

wosch

Beitrag von wosch » So 7. Jan 2007, 20:37

laurin hat geschrieben:... (Ich erhalte wieder Anker, die so aussehen:

<a href="../../#anker">

Sie verweisen alle auf das unterste Verzeichnis.

Laurin
Der Fehler ist seit längerer Zeit bekannt,
es gibt zuwohl in diesem Forum als auch im Forum vom TinyMC Vorschläge ...
... aber bei "Vorschlägen" ist es auch geblieben.

Eine generelle Lösung gibt es, meines Wissens, nicht das zu sauber zu fixen.

Vielleicht hilft dir ja das hier (12. Beitrag vom Sa Nov 11, 2006 )
http://www.contenido.org/forum/viewtopic.php?t=14493

knb
Beiträge: 224
Registriert: Fr 9. Sep 2005, 14:03
Wohnort: Potsdam
Kontaktdaten:

Beitrag von knb » Mo 8. Jan 2007, 17:13

Aber mir hat der Patch scheinbar geholfen. Man konnte Anker korrekt setzen, aber anscheinend immer noch nicht korrekt updaten. Beim Updaten wurde wieder ein "/" zuviel eingefügt.

Wie dem auch sei, mein o.g. Code-Update scheint in IE6 nicht so richtig zu funktionieren. TinyMCE in IE zeigt keinen text mehr an. Also Vorsicht :oops:
Gruss,
Knut

knb
Beiträge: 224
Registriert: Fr 9. Sep 2005, 14:03
Wohnort: Potsdam
Kontaktdaten:

Beitrag von knb » Mo 8. Jan 2007, 18:11

ich habe mal den neuesten tinyMCE 2.0.8 eingespielt.
Siehe da: lokale Anker-URLs sind immer noch defekt :evil:

Aber ich stelle fest, dass die tinyMCE Entwickler die fragliche codezeile auch rausgenommen haben, der Code in tiny_mce.js sieht jetzt so aus:

Code: Alles auswählen

// Convert relative anchors to absolute URLs ex: #something to file.htm#something
// Removed: Since local document anchors should never be forced absolute example edit.php?id=something
//if (tinyMCE.getParam('convert_urls'))
//	s = s.replace(new RegExp('(href=\"{0,1})(\\s*#)', 'gi'), '$1' + tinyMCE.settings['document_base_url'] + "#");
Also ging mein erster Versuch in die richtige Richtung.

Wahrscheinlich müsste man sich im tinyMCE eine Funktion _customCleanup schreiben, welche die defekten Anker säubert, und dann den tiny so konfigurieren, dass er "gesäuberten" HTML COde beim Öffnen nicht mehr antastet.

Ich melde mich wieder falls ich mit diesem Plan was erreicht habe.
Gruss,
Knut

knb
Beiträge: 224
Registriert: Fr 9. Sep 2005, 14:03
Wohnort: Potsdam
Kontaktdaten:

Beitrag von knb » Mi 10. Jan 2007, 11:04

so ich habe jetzt tinymce auf 2.0.9 updated
und dann in contenido-Datei
tinymce.tpl.html
vor

Code: Alles auswählen

	{CLEANUPCALLBACK}
folgende Zeilen eingefügt

Code: Alles auswählen

        relative_urls : false,
        convert_urls : false,
Lokale Anker gehen bei mir auch in Internet Explorer. Allerdings habe ich jetzt nicht genauer kontrolliert ob andere URLs im HTML Text vom TinyMCE heil und ganz gelassen werden.

Literaturhinweise:

http://tinymce.moxiecode.com/punbb/view ... hp?id=2182
http://wiki.moxiecode.com/index.php/Tin ... ve_URLs.3F
http://contenido.org/forum/viewtopic.ph ... ce+updaten
Gruss,
Knut

silicone
Beiträge: 299
Registriert: Di 15. Mär 2005, 10:33
Kontaktdaten:

Beitrag von silicone » Mi 10. Jan 2007, 11:43

Scheint zu funktionieren. Vielen Dank!

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Di 30. Jan 2007, 21:24

Done.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

Gesperrt