2012-04-11 38 views
1

使用Plone 4.1.4。Plone中的奇怪定位標記/相對路徑問題

有一個名爲/ employment的容器,它有一個頁面的默認視圖,也稱爲就業。

有就業容器中的其他頁面,叫做foo

當我添加錨標記(通過TinyMCE的或直HTML)爲「自動地」鏈接到父文件夾,而不是當前頁面。

我在http://www.example.com/employment/foo 我嘗試在foo頁面上添加一個鏈接<a href="#bar">

我期望呈現 當鏈路是http://www.example.com/employment/foo#bar而是它顯示爲http://www.example.com/employment/#bar

任何想法,爲什麼它的實際上目前對拖欠父「文件夾」,而不是頁面?它是一些奇怪的緩存問題或URL重寫伏都教?

+0

不知道這是否是相關的,但是:在TinyMCE的設置 - >資源類型,我注意到「包含錨」列表中不包括「網頁」(我還在學習Plone的術語 - 我認爲這是一個內容類型)我的「包含錨」的列表包括: '事件 新聞項目 文件 ATRelativePathCriterion' – ErikP 2012-04-11 18:22:31

回答

0

您是否在TinyMCE的設置中啓用了「使用UID進行鏈接」? UID鏈接啓用URL重寫過濾器,該過濾器可將所有相對鏈接解析爲絕對鏈接。 Id有相關鏈接的問題,但這些應該在plone.outputfilters> = 1.2中修復(例如,它不會再試圖「修復」錨鏈接)。

+0

謝謝!我確實爲TinyMCE啓用了「使用UID進行鏈接」。如果我要取消選中該設置,是否僅影響未來鏈接的創建方式,請更正?我不想孤兒所有以前的UID鏈接的鏈接。我也會看看更新plone。outputfilters ASAP。 – ErikP 2012-04-11 16:39:45

+0

FWIW:使用UID取消選中鏈接,然後編輯頁面以添加新的錨鏈接不起作用/表現出相同的行爲:(我稍後會在輸出過濾器上進行回報。 – ErikP 2012-04-11 16:59:33

+0

鏈接何時斷開?它會在TinyMCE中中斷嗎?(單擊HTML源代碼會再次顯示它立即被破壞。)或者僅當Plone呈現頁面時?(當再次編輯頁面時,鏈接會繼續在TinyMCE上正確顯示,但當保存的頁面)前者是TinyMCE問題,後者可能是outputfilter或base-tag問題,如果鏈接已經在渲染頁面的源代碼中被破解,那麼可能是輸出過濾器問題,如果鏈接看起來正確源,而是由瀏覽器壞了,也可能是基地標籤的問題。 – 2012-04-11 19:06:16

0

您可能在這裏成爲基礎標籤的受害者。瀏覽器使用基本標記來確定相對鏈接的參考點。如果基本標籤指出基礎URL是您的容器,那麼您創建的相關鏈接最終將相對於該鏈接進行渲染。

檢查渲染頁面頭部的基值,看看是否屬於這種情況。

+0

在我的研究,我也看到一些關於這個「問題」喋喋不休在一箇舊的郵件列表線程: http://copilotco.com/mail-archives/plone-users.2007/ msg00696.html 基礎鏈接在渲染源(顯示當前頁面,而不是父目錄)中對我來說看起來是正確的,儘管... – ErikP 2012-04-11 16:43:06

0

對於我在Plone 4.3.3中使用敏捷內容類型,這仍然是一個相關問題。

首先,當我創建非文件夾內容類型時,錨鏈接正常工作。但是,在我將其轉換爲文件夾容器類型後,錨鏈接行爲發生了變化。

在看到Cris的回答後,我相信基本標籤會根據內容的類型發生變化,如果它是不靈敏的。然而,導航鏈接(例如,在Portlet導航樹中)卻沒有。這會制止錨鏈接的使用。

A ticket已被提交關於此,並且該解決方案似乎是完全刪除基本標記在plone 5.0中。

對於plone 4.3.3。我只能想到在我的文件夾內容類型的模板中使用絕對路徑作爲錨鏈接。

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