似乎陷入了一些非常简单的问题: - (:
在TYPO3项目中,我想/必须重用一个GET参数,就像它被设置为另一个参数一样。例如:我有my.tld/page/?param1=abc
,但最终一切都应该像我my.tld/page/?param1=abc¶m2=abc
一样工作。
原因是我必须在一个目标页面上使用两个插件来搜索结果(使用一个输入字段进行快速搜索的结果),其中一个只是标准tx_indexedsearch
(使用参数{{1 }}和另一个(使用让我们说param tx_indexedsearch[sword]
)是一个特定的解决方案,它有自己的数据,不被mysearchword
覆盖。
所以我的想法是使用输入字段中的GET值作为这些参数之一(tx_indexedsearch
)并在渲染之前将另一个(tx_indexedsearch[sword]
)通过Typoscript设置为相同的值执行页面。
基本上我可以轻松地通过mysearchword
设置GET值(或者,通过config.defaultGetVars
扩展,取决于扩展名),但我只是不能使用某个变量值(一个)我从现有参数获得。
如果我尝试以下操作,我永远无法获得所需的结果(不同的替代尝试,请参阅代码块中的注释)
tx_extension._DEFAULT_PI_VARS.param = abc
我几乎认为我只是真的失明(或愚蠢,或两者兼而有之) - 我该如何解决这个问题?我应该在Typoscript中工作,我不想在提交我的搜索表单时使用JS为第二个参数设置一些隐藏的输入字段。如果可能的话(因为我只需要运行两个插件/显示结果的一个目标页面)我不想尝试通过# 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
}
模拟它。
希望我的描述不太奇怪 - 否则请求澄清。
提前谢谢。
答案 0 :(得分:0)
实际上我认为最简单的方法是在发送表单之前修改搜索框本身并设置隐藏字段的值,这样你就不需要做任何重定向或其他东西来包含额外的参数,伪代码:
<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>