typoscript:根据Page-ID和GET参数构建URL

kin*_*nak 2 typo3 typoscript

我必须使用typoscript替换我的typo3页面上的标记来构建到另一个页面的链接(即同一页面的另一种类型).

对于此链接,我必须设置与当前页面相同的查询参数,以及当前页面的页面ID <a href="index.php?id=11&param1=abc&param2=def&type=123">

到目前为止,我将收到的QUERY_STRING传递给以下站点.当前页面的路径没有id参数时会出现问题,例如由RealURL设置.

所以我需要的是这样的映射:

mysite.com/about_us  
     ==>  mysite.com/index.php?id=11&type=123&L=1

mysite.com/index.php?id=33&param1=abc&param2=def&L=1
     ==>  mysite.com/index.php?id=33&param1=abc&param2=def&L=1
Run Code Online (Sandbox Code Playgroud)

这是我试过的:

page.10.marks.printlink = HTML
page.10.marks.printlink.value = dummy
# For plugin pages with querystring
page.10.marks.printlink.value.data= getIndpEnv:QUERY_STRING
# For other Typo3 pages
page.10.marks.printlink.value.ifEmpty.data = page:uid
page.10.marks.printlink.value.ifEmpty.dataWrap = id=|
page.10.marks.printlink.value.wrap = <a target="_blank" href="index.php?|&type=123">print</a>
Run Code Online (Sandbox Code Playgroud)

这适用于大多数情况,但是如果RealURL PREVar就位则不适用,在这种情况下会映射以下内容:

mysite.com/de/über_uns
  ==>  mysite.com/de/index.php?L=2&type=123
Run Code Online (Sandbox Code Playgroud)

所以,没有id传递!(大概是因为RealURL替换了/de/prevar L=2,但没有设置id)

我的问题是:有没有办法简单地连接page:uidQUERY_STRING?或者我是否还要做更多的typoscript魔术?

谢谢你的任何提示!

mah*_*ltz 5

未经测试,但如果您需要链接,请使用typolink :)

page.10.marks.printlink = HTML
page.10.marks.printlink {
  value = linktext
  value.typolink.data = TSFE:id
  value.typolink.addQueryString = 1
  value.typolink.addQueryString.method = get
  value.typolink.additionalParams = &type=123
}
# Check for duplicate parameters and remove them
page.config.uniqueLinkVars = 1
Run Code Online (Sandbox Code Playgroud)