2012-04-13 78 views
3

在SDL Tridion,Dreamweaver模板中,我必須在頁面模板中爲我的圖像設置相對路徑。SDL Tridion中的相對路徑處理

如果我在DWT中有這樣的代碼,Tridion會產生如下輸出。

DWT標記

<img src="@@[email protected]@"/> 

模板處理

<img src="image.jpg"/> 

然而,當我加入這樣的相對路徑,模板返回tcmid

DWT標記

<img src="Folder/img/@@[email protected]@" type="text/css" rel="stylesheet"/ 

模板渲染

<img src="tcm:8-674"/> 

而這會導致圖像在網站中無法正常顯示。我嘗試過Tridion類型:多媒體等,但迄今沒有任何工作。

有沒有人見過類似的問題?

+0

請在下面檢查我的答案。你能提供更多關於你想要完成的信息嗎? – 2012-04-13 22:33:43

+0

除了DWT模板之外,您是否還可以確認您正在使用HTML TBB中的解析鏈接和發佈二進制文件?或者可能的默認完成操作TBB? – 2012-04-14 00:05:38

+0

是的,我正在使用默認的結束動作TBB。 – 2012-04-14 00:53:38

回答

3

您遇到的問題是,Tridion(Dreamweaver中介)會將您的src圖像屬性解釋爲Content Manager中項目的WebDAV路徑。因此,如果它找到Folder/img/@@[email protected]@下的多媒體組件,它將用該多媒體組件的TCMURI替換您的路徑。這是預期的行爲。

但是,我不認爲這就是你想要做的事情(從你的問題不清楚)。 Tridion中的圖像是多媒體組件嗎?你想展示這張圖片嗎?然後,您應在DWT中使用多媒體鏈接(即指向多媒體組件的鏈接):<img src="@@[email protected]@"/>,其中字段link_to_mmc是架構中定義的多媒體鏈接字段。然後使用'Resolve Links'默認TBB將TCMURI轉換爲相對圖像路徑。

如果您要鏈接到外部圖像,那麼您需要在DWT模板中指定該圖像的URL。像這樣的<img src="@@[email protected]@"/>,其中external_url是您的架構中的文本字段,它包含您要顯示的外部圖像的實際URL。

+0

謝謝Mihai您的時間來幫助我。對不起,我沒有讓我的問題在我以前的帖子中清楚。我在頁面元數據中有圖像。頁面元數據中的字段名稱是圖像字段,它是多值字段。我通過訪問它<! - TemplateBeginRepeat名= 「Page.imagefields」 - > <! - TemplateEndRepeat - >此之際,但是我的期望是得到它像 2012-04-14 00:09:49

+0

我m使用頁面默認TBB中的提取組件,頁面佈局Dreamweaver TBB和默認完成在我的頁面模板中執行tbb。這種行爲工作正常,如果我沒有相對路徑。說給我。 – 2012-04-14 00:20:24

3

看來你幾乎就在那裏,只有當你將字符串作爲相對路徑添加時,默認TBB不再識別SRC屬性中保存的uri。如果您嘗試將二進制文件發佈到其他位置,則需要將其綁定到不同的結構組,或者嘗試更改出版物上的多媒體網址。這樣圖像將被髮布(並解析)到你的子目錄。

+0

你是完全正確的克里斯,所以我不是不同意張貼我自己的答案。我想添加的東西只是比我可以輕鬆地填入評論中的東西多一點。 – 2012-04-14 01:56:27

3

如果您的imagefields是通過多媒體組件連接的,那麼您需要的僅是<img src="@@[email protected]@"/>。隨着該Tridion將(按此順序):

  1. 替換@@[email protected]@與圖像的TCM URI(例如,TCM:6-874),當它執行DWT
  2. 把圖像項到封裝作爲隱含步驟執行DWT
  3. 發佈圖像(如在Default Finish Actions
  4. 步驟替換一個後使用發佈映像的路徑的TCM URI(tcm:6-874)

由於DWT和默認完成操作之間可能會有自定義的TBB,因此您可以使用它們來修改映像項目和影響發佈的內容(以及使用項目屬性的位置)。

如果您已經正確設置了Tridion安裝,您通常會在發佈屬性中存儲圖像的基本路徑,然後第3步只是將圖像放在那裏,第4步將完整路徑(包括您在發佈屬性中指定的內容)添加到HTML中。

如果您想要更多地控制相對路徑,Publish Binaries in PackageDefault Finish Actions TBB有一個參數,允許您指定將圖像發佈到哪個結構組。這樣,您可以將不同的模板將其圖像輸出到磁盤上的不同結構組/目錄。

對於最終的控制,您還可以決定自己發佈二進制文件。在這種情況下,請查看Publish Binaries in Package TBB(可從SDL Tridion World上的論壇獲得)的來源,對其進行修改以適合您的需要,並用您的修改版本替換Default Finish Actions中的那個。