2012-08-12 73 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