2012-04-11 4 views
1

Verwenden von Plone 4.1.4.Bizarres Anchor-Tag/relativer Pfadfehler in Plone

Haben Sie einen Container namens/Beschäftigung, die eine Standardansicht einer Seite auch Beschäftigung genannt hat.

Es gibt eine weitere Seite im Container Beschäftigung genannt foo

Wenn ich Anker-Tags hinzufügen (entweder über TinyMCE oder gerade html) es „automatisch“ Links zu den übergeordneten Ordner anstelle der aktuellen Seite.

Ich bin auf http://www.example.com/employment/foo Ich versuche, einen Link <a href="#bar"> auf der Foo-Seite hinzuzufügen. Jede Idee, warum es säumigen zu den Eltern „Ordner“ anstelle der Seite seiner derzeit tatsächlich auf

würde ich die Verbindung erwarten http://www.example.com/employment/foo#bar zu sein, wenn gemacht, sondern es ist als http://www.example.com/employment/#bar

angezeigt? Ist es ein seltsames Caching-Problem oder eine URL, die Voodoo neu schreibt?

+0

nicht sicher, ob dies relevant ist aber: In dem tinyMCE Einstellungen-> Ressourcentyp, bemerkte ich die „Enthält Anchors“ -Liste nicht enthält „Seiten“ (i bin immer noch plone Terminologie zu lernen - ich nehme an, das ist ein Inhaltstyp) Meine Liste von "Enthält Anker" beinhaltet: 'Ereignis Nachricht Dokument ATRelativePathCriterion' – ErikP

Antwort

0

Haben Sie "Link UIDs verwenden" in den Einstellungen von TinyMCE aktiviert? UID-Linking aktiviert einen URL-Rewriting-Filter, der alle relativen Links zu absoluten auflöst. Id hatte Probleme mit relativen Links, aber diese sollten in plone.outputfilters> = 1.2 behoben werden (z. B. versucht es nicht mehr, Ankerlinks zu "reparieren").

+0

Vielen Dank! Ich habe "Link UIDs verwenden" für TinyMCE aktiviert. Wenn ich diese Einstellung deaktivieren würde, würde dies nur bewirken, wie zukünftige Links erstellt werden, richtig? Ich möchte nicht alle zuvor UID-verknüpften Links verwaisten. Ich werde auch auf die Aktualisierung von plone schauen.Ausgabefilter ASAP. – ErikP

+0

FWIW: Das Deaktivieren der Verbindung mit UIDs und das Bearbeiten einer Seite zum Hinzufügen eines neuen Ankerlinks funktionierte nicht/zeigte das gleiche Verhalten :(Ich melde mich später erneut beim Ausgabefilter an. – ErikP

+0

Wann genau wird der Link unterbrochen? (Klicken Sie erneut auf HTML-Quelle, um anzuzeigen, dass sie sofort unterbrochen wird.) Oder nur, wenn Plone die Seite rendert (der Link wird weiterhin auf TinyMCE korrekt angezeigt, wenn die Seite erneut bearbeitet wird, aber abgebrochen, wenn die gespeicherte Seite angezeigt wird gesehen.) Ersteres wäre ein TinyMCE-Problem, letzteres entweder ein Ausgabefilter- oder Basis-Tag-Problem.Wenn der Link bereits im Quellcode einer gerenderten Seite unterbrochen ist, könnte es ein Ausgabefilterproblem sein.Wenn der Link korrekt aussieht auf Quelle, aber wird durch den Browser gebrochen, könnte es Basis-Tag-Problem sein. –

0

Sie könnten hier Opfer eines Basis-Tags werden. Das Basis-Tag wird von Browsern verwendet, um den Bezugspunkt für relative Links zu bestimmen. Wenn das Basis-Tag angibt, dass die Basis-URL Ihr Container ist, werden die relativen Links, die Sie erstellen, relativ dazu gerendert.

Überprüfen Sie den Wert der Basis im Kopf der gerenderten Seite, um zu sehen, ob dies der Fall ist.

+0

Während meiner Recherchen habe ich einige gesehen Geschwätz über dieses "Problem" in einem alten Mailing-Liste Thread: http://copilotco.com/mail-archives/plone-users.2007/ msg00696.html Der Basislink sieht in der gerenderten Quelle korrekt aus (zeigt die aktuelle Seite und nicht das übergeordnete Verzeichnis), obwohl ... – ErikP

0

Dies war immer noch ein relevantes Thema für mich, wenn ich mit Geschicklichkeitsinhaltstypen in Plone 4.3.3 arbeite.

Zuerst funktionierten die Ankerlinks normal, wenn ich einen nicht-folderartigen Inhaltstyp erstellte. Aber das Verhalten der Ankerverknüpfungen hat sich geändert, nachdem ich es in den Ordner-Container-Typ konvertiert habe.

Nachdem ich die Antwort von Cris gesehen habe, glaube ich, dass sich das Basistag je nach Art des Inhalts ändert, wenn es sich um einen Ordner handelt oder nicht. Die Navigationsverknüpfungen (z. B. im Portlet-Navigationsbaum) tun dies jedoch nicht. Dies bremst die Verwendung von Ankerverbindungen.

A ticket wurde darüber eingereicht, und die Auflösung scheint, das Basis-Tag vollständig in plone 5.0 zu entfernen.

Für Plone 4.3.3. Ich kann nur daran denken, absolute URLs für die Ankerlinks in der Vorlage meines Ordner-Inhaltstyps zu verwenden.

<a tal:attributes="href string:${context/absolute_url}#anchor">My Anchor</a> 
Verwandte Themen