TYPO3:使用另一个 GET 参数的值通过 Typoscript 设置 GET 参数

TYPO3: set a GET-parameter via Typoscript using the value of another GET-parameter

似乎卡在了一些非常简单的地方:-(:

在 TYPO3 项目中,我想/必须重用一个 GET 参数,就好像它也被设置为另一个参数一样。例如:我有 my.tld/page/?param1=abc,但最后一切都应该像我有 my.tld/page/?param1=abc&param2=abc.

一样工作

原因是我必须在一个目标页面上使用两个插件来搜索结果(使用一个输入字段快速搜索的结果),其中一个只是标准 tx_indexedsearch(使用参数 tx_indexedsearch[sword]) 和另一个(使用参数 mysearchword)是一些特定的解决方案,它有自己的数据,不在 tx_indexedsearch.

范围内

所以我的想法是使用输入字段中的 GET 值作为这些参数之一 (tx_indexedsearch[sword]) 并通过 Typoscript 将另一个 (mysearchword) 设置为之前的相同值呈现/执行页面。

基本上我可以通过 config.defaultGetVars 轻松设置 GET 值(或者,根据扩展名 tx_extension._DEFAULT_PI_VARS.param = abc),但我只是无法使用某些变量值(我从现有参数中得到的那个)。

如果我尝试以下操作,我永远不会得到想要的结果(不同的替代尝试,请参阅代码块中的注释)

# fetch the exisiting GET param tx_indexedsearch[sword]
lib.mysearchword = TEXT
lib.mysearchword.data = GP:tx_indexedsearch|sword

# try to use it to set GET param mysearchword
config.defaultGetVars {
  # next line leads to output "lib.mysearchword" (not the value)
  tx_otherextension.mysearchword = lib.mysearchword
  # next line leads to empty output ""
  # tx_otherextension.mysearchword < lib.mysearchword
  # next line leads to output "GP:tx_indexedsearch|sword" (not the value)
  # tx_otherextension.mysearchword = GP:tx_indexedsearch|sword
}

我几乎假设我真的是盲人(或愚蠢,或两者兼而有之)- 我该如何解决该任务?我应该在 Typoscript 中工作,我不想在提交搜索表单时使用 JS 为第二个参数设置一些隐藏的输入字段。如果可能的话(因为我只需要一个目标页面 运行 两个插件/显示结果)我不想尝试通过 realurl.

来模拟它

希望我的描述不要太奇怪 - 否则请澄清。

提前谢谢你。

实际上,我认为最简单的方法是在发送表单之前修改搜索框本身并设置隐藏字段的值,这样您就不需要进行任何重定向或其他操作来包含其他参数,伪-代码:

<script>
    function sendSearchForm() {
        $('#mySearchWord').val($('#indexedSearchWord').val());
        $('#searchBox').submit();
        return false;
    }
</script>
<form action="/your/search/page.html" method="get" id="searchBox" onsubmit="sendSearchForm(); return false;">
    <input type="text" name="tx_indexedsearch[sword]" id="indexedSearchWord"/>
    <input type="hidden" name="mysearchword" id="mySearchWord"/>
    <input type="submit" value="search"/>
</form>