Seite 1 von 2

Anker-URL ändert sich von alleine - v 4.6.15

Verfasst: Mi 8. Nov 2006, 15:02
von skg
Hi forum,

ich dreh durch :( und brauche dringend einen Schubs in die richtige Richtung:

In einem ganz normalen Text-Modul-Bereich möchte ich (nicht in dem Modul selber, sondern über die Pflegeoberfläche)
einen Anker-Tag anlegen, z.B. <a href="#top">nach oben</a>

Wenn ich den Editor aufrufe und dort den a-tag einbaue (Quellcode oder Oberfläche, ist egal) ändert sich die URL beim Speichern
(scheinbar eine cleanup-Funktion) wie folgt:

1. aus "#top" wird im Editor mit Klick auf den "Link"-Button, Daten eingeben und OK --> "/#top"
(Das kann ich sehen, wenn ich den Link einfach mit dem Button noch einmal öffne)

2. speichere ich mit dem grünen OK Button wird aus "/#top" dann "../../#top"
Das diese Anker nicht mehr da ankommen, wo sie sollen, ist wohl jedem klar.

3. teilweise wurde nach mehrmaligen speichern dann sogar "../..//#top" daraus


Meine Recherche (was ich schon alles gemacht habe):

- In dem Mandanteneigenschaften
wysiwyg tinymce-valid-elements *[*]
wysiwyg tinymce-extended-valid-elements *[*]
eingetragen

Hab auch in einem Forumsbeitrag die Idee gefunden, folgendes für tinymce-extended-valid-elements einzutragen:
table[*],tr[*],td[*],span[*],div[*],a[*],*[*]

(auch Browser-Neustart usw.)

- im tinymce.js habe ich die Stelle gefunden, wo der erste / vor das # gesetzt wird. Hab das auch raus genommen,
aber die anderen Veränderungen bleiben drin. Dann steht da nämlich "../..#top" nach dem Speichern :(


? Kann man dem tiny nicht komplett abgewöhnen, in dem Quellcode von anderen Leuten rumzupfuschen ?

? Wie setzt man Anker in contenido, ohne das die dann umgebogen werden ?
z.B.
<a href="#anker17">Zu Absatz 17</a>
<a href="#top">nach oben</a>

Das kann doch nicht so schwer sein!

Ich danke Euch für die Bemühungen.

Verfasst: Mi 8. Nov 2006, 15:59
von m2Designer
http://www.contenido.org/forum/viewtopi ... ight=anker

Lies mal Post Nr. 5

Gruß
M2Designer[/quote]

Danke. leider..

Verfasst: Mi 8. Nov 2006, 16:58
von skg
reicht das scheinbar noch nicht.
Den Thread hatte ich auch schon gelesen und jetzt auch noch einmal ganz konzentriert umgesetzt. Was sich ändert ist folgendes:

Im Editor wird beim Aufruf des LinkButtons ("Link einfügen/bearbeiten") nichts mehr in der URL geändert, aber wenn ich speichere steht da dann wieder "/#" anstatt "#" im Quellcode.

Verfasst: Mi 8. Nov 2006, 18:35
von oio
letzteres liegt vermutlich daran, dass im head deiner seite eine

Code: Alles auswählen

<base href="http://domain.tld/" />
definiert ist.

cu
cg

edit: mh, kommando zurück. wenn es im quellcode schon so steht kann das nicht sein.

Verfasst: Mi 8. Nov 2006, 18:58
von HerrB
Kann das Problem bestätigen - ist aber IMHO ein tinyMCE-Problem.
aber wenn ich speichere steht da dann wieder "/#" anstatt "#" im Quellcode.
Nach Deiner Änderung und Einfügen des Anchor-Links - kommt dann auf der Endseite (-> Vorschau) # oder /# raus?

Gruß
HerrB

moin zusammen

Verfasst: Do 9. Nov 2006, 08:54
von skg
Ich hab jetzt im Editor nochmal die Anker alle korrigiert (auf "#")
und dann gespeichert. (mit dem grünen Haken)
In der Editor-Preview steht dann schon "/#" im Quellcode.
Wenn ich dann das Frontend aufrufe ist das dort auch.

Wenn ich in der Editor-Preview dann auch "save" drücke, bleibt das so.
Gehe ich nochmal in den HMTL-Editor und schaue mir dann die Anker an
(mit Link einfügen/bearbeiten) steht dann da ../..#. Wenn ich dort dann nichts ändere, sondern nur speichere
(mit dem grünen Haken) steht im Editor-Preview dann "../../#". Ebenso im Frontend und unter "Vorschau".

Gehe ich nochmal in den Editor und kontrolliere die Anker steht dort "../../#". Wenn ich nichts ändere
und mit dam Haken speichere steht in der Editor-Preview dann "../..//#".
:roll:

Verfasst: Do 9. Nov 2006, 09:08
von emergence
teste es mal mit der tinymce 2.0.8 version
http://tinymce.moxiecode.com

updaten -> http://contenido.org/forum/viewtopic.ph ... ce+updaten

Nach Update

Verfasst: Do 9. Nov 2006, 09:31
von skg
Habe das Update gemacht. Es ist wieder alles beim alten.
Jetzt kommt auch schon wieder beim Klick auf "Link einfügen/bearbeiten" "/#" anstelle von "#".
Klar, weil ich ja meine Änderung am tiny mit dem update überschrieben habe.

Ich werde die Stelle jetzt bei dieser Version noch mal suchen und
auch wieder raus nehmen und dann nochmal testen...

.. bin gleich wieder da ...

Verfasst: Do 9. Nov 2006, 14:42
von skg
Die besagte Stelle in der function cleanupHTMLCode gibt es in der Version nicht mehr.
Das wird scheinbar alles etwas aufwendiger.

Benutzt denn niemand anders noch Anker? Ich versteh gar nicht, wie so ein Bug?! durch die Versionen getragen wird.
Meines Erachtens ist das echt ein schwerwiegendes Problem mit dem Editor.

Ich werde mir jetzt nochmal die Ausgabeseite anschauen und meine Module anpassen.
Dann brauche ich wenigstens nicht in dem TinyQuellcode rumsuchen.

Re: Nö

Verfasst: Do 9. Nov 2006, 15:32
von wosch
skg hat geschrieben:Benutzt denn niemand anders noch Anker? Ich versteh gar nicht, wie so ein Bug?! durch die Versionen getragen wird.
Meines Erachtens ist das echt ein schwerwiegendes Problem mit dem Editor.
Doch, ich nutze sowas auch, und zwar ganz einfach gemacht, ohne Tiny.

Im unteren Teil des Layout habe ich einen Container plaziert:

Code: Alles auswählen

<container id="14" name="to_top" types="Content" default="">to_top</container>
Dann habe ich ein sehr primitives Modul to_top (nur Output) erstellt:

Code: Alles auswählen

<?php 
echo '<a href="',$_SERVER['REQUEST_URI'],'#">Top</a>';
?>
Und nun brauche ich nur bei der Artikel ->Konfiguration bei Bedarf unten auswählen - Modul to_top
Und fertig ist der sprung nach oben :lol:

Nicht schlecht

Verfasst: Do 9. Nov 2006, 16:49
von skg
Das ist gar keine schlechte Idee... Werde ich im meinen Fundus für workarounds aufnehmen, danke.

Ich habe auch einen (etwas anderen, vielleicht etwas unbefriedigenden, aber auf jeden Fall schnell implementierten) workaround:

Bei der Ausgabe des Codes in den Modulen korrigiere ich
die vorkommenden fehlerhaften URLs in den identifizierten Varianten...

Code: Alles auswählen

/* $tmp beinhaltet den Code inkl. Fehler */
$mySearch = array('../..#','/#','.//','../../#');
$myReplace = array('#','#','./','#');
$tmp = str_replace($mySearch , $myReplace , $tmp);

Damit sind die Fehler wenigstens aus der Anzeige raus UND ich habe nicht das Problem,
beim nächsten Update wieder die zu ändernden Stellen im tiny suchen zu müssen.
(Die workarounds sind ja nun in meinen Modulen)

:roll:


Fortsetzung folgt...

Verfasst: Sa 11. Nov 2006, 13:04
von wosch
Durch Zufall im Tiny-Forum gefunden:

http://tinymce.moxiecode.com/punbb/view ... d=2182&p=1
Posting 2, 16, 17
Frage: How can I make it not replace links like <a href="#">link</a> ?
Antwort: You can always piggy back and convert any URLs your self:
http://tinymce.moxiecode.com/tinymce/do … lback.html
http://tinymce.moxiecode.com/tinymce/do ... lback.html

Vielleicht hilft es ja dem einen oder anderen,
und vielleicht macht der derjenige auch mal eine Erklärung.

Re: Nö

Verfasst: Mo 13. Nov 2006, 15:35
von pulk
wosch hat geschrieben: Dann habe ich ein sehr primitives Modul to_top (nur Output) erstellt:

Code: Alles auswählen

<?php 
echo '<a href="',$_SERVER['REQUEST_URI'],'#">Top</a>';
?>
Und nun brauche ich nur bei der Artikel ->Konfiguration bei Bedarf unten auswählen - Modul to_top
Und fertig ist der sprung nach oben :lol:
nur mit der methode bekommt mensch kein valides xhtml bei links mit &lang=
da ja das & zeichen nicht durch & ersetzt wird.

Re: Nö

Verfasst: Mo 13. Nov 2006, 20:10
von oio
pulk hat geschrieben:... nur mit der methode bekommt mensch kein valides xhtml bei links mit &lang=
da ja das & zeichen nicht durch & ersetzt wird.
doch,
wenn "mensch" seinen server richtig konfiguriert und für den php prozess den 'arg_separator.output' entsprechend deklariert.

cu
cg

Re: Nö

Verfasst: Mo 13. Nov 2006, 20:28
von pulk
oio hat geschrieben:
pulk hat geschrieben:... nur mit der methode bekommt mensch kein valides xhtml bei links mit &lang=
da ja das & zeichen nicht durch & ersetzt wird.
doch,
wenn "mensch" seinen server richtig konfiguriert und für den php prozess den 'arg_separator.output' entsprechend deklariert.

cu
cg
aha, gut zu wissen.