2012-08-12 76 views
1

我有我的網站設置,因此如果您在移動設備上,您將獲得移動渲染模板。點擊進入主站點你去在typoscript中添加參數以鏈接

index.php?id=??&mainsite=1 

這一切工作正常,但我有一個鏈接在我的手機模板的底部說去主網站。我想這個去主模板頁面的當前頁ID如

index.php?id=page:uid&mainsite=1 

如果我做

lib.mainsitelink= TEXT 
lib.mainsitelink.data = page:uid 

我得到

www.example.com/uid 

所以當UID = 3我得到

www.example.com/3 

但如果我做下面的代碼它不起作用

lib.mainsitelink= TEXT 
lib.mainsitelink.data = index.php?id=page:uid&mainsite=1 

有沒有辦法做我想做的事情或添加一個參數到當前網址的結尾?比如我想要做的事情在新聞單頁上不會有效。

回答

4

首先,我不認爲cobj文本具有方法數據,因此我會將其更改爲值方法。另外,當你想使用getText數據類型時,你需要用大括號將變量加以變形,然後向其中添加方法insertData = 1,以便花括號內的所有內容都被替換。這是一個完整的例子:http://wiki.typo3.org/TSref/getText。當然,您可以使用一個typolink cobject替換頁面ID。其次,你可以用additionalParams方法(當然還有一個typolink)添加一個額外的鏈接參數(即get-parameters),或者你可以使用一個普通的cobj文本。這是一個cObj圖像和stdWrap cObj typolink和tt_news獲取參數的示例。它還打開一個彈出窗口。

   40=IMAGE 
      40.file=print.gif     
      40.stdWrap.wrap = <div>|</div> 
      40.stdWrap.typolink.no_cache = 1 
      40.stdWrap.typolink.parameter.data = page:uid 
      40.stdWrap.typolink.parameter.wrap = | ,1 print 
      40.stdWrap.typolink.additionalParams.cObject = COA 
      40.stdWrap.typolink.additionalParams.cObject { 

        10 = TEXT 
        10.data = GPvar : no_cache 
        10.wrap = &no_cache=| 
        10.required = 1 

        20 = TEXT 
        20.data = GPvar : L 
        20.wrap = &L=| 
        20.required = 1 

        30 = TEXT 
        30.data = GPvar : backPID 
        30.wrap = &backPID=| 
        30.required = 1 

        40 = TEXT 
        40.data = GPvar : tt_news 
        40.wrap = &tt_news=| 
        40.required = 1 

       } 
+0

正如我在我的問題中指出的那樣,這對新聞單頁不起作用。 – ak85 2012-08-13 04:20:37

+1

我發佈了一些代碼,我沒有測試它與單個頁面。也許這是因爲你使用no_cache get參數被禁用? – Bytemain 2012-08-13 08:52:46

+0

TEXT有一個數據屬性;請注意tt_news backPID,;如果可以避免,則不應將no_cache添加到url;應該通過config.linkVars添加L參數;你不能傳遞cHash,因爲它是計算的。添加一個錯誤的cHash就會停用緩存;沒有stdWrap屬性「typolinkno_cache」 – maholtz 2012-08-13 11:30:11

2

根據typolink reference你需要使用additionalParams

lib.myLink = TEXT 
lib.mylink.value = Click me! 
lib.mylink.typolink.parameter.data = page:uid 
lib.mylink.typolink.additionalParams = &mainsite=1 
lib.mylink.typolink.useCacheHash = 1 

記住additionalParams每個(甚至第一個)參數開始&。很可能你還需要確保它會生成cHash以進行適當的緩存。

+0

這並不能解釋gettext對象的使用,只能解釋additionalparams。 – Bytemain 2012-08-12 09:59:53

+0

@Chiyou是的,他問的不是這個嗎? (額外的參數?)再次,你試圖證明OP是要求別的東西,而不是他在他的問題中寫的。有成千上萬的可能性,並且編寫數千個樣本不是我的工作,因爲網絡中有數千個樣本。 – biesior 2012-08-12 10:44:06

+0

不,這不是解決問題的完整答案。我希望你能理解評論家和順便說一句。我看到你的分數很高。這並不意味着消極,但你可以改善你的答案。 – Bytemain 2012-08-12 11:14:40