如果我在 ts-setup 中执行 mysql-select 并调用此选择的结果,比如说,放置在同一站点上的三个扩展,这是否仍然意味着,这个特定的 mysql-select 在每次调用中只执行一次网站的?
如果是这样,在打字稿中执行 mysql-select 并将结果提供给扩展名会更聪明,所以我不必为每个扩展名一遍又一遍地执行相同的 mysql-select,对吧?
还是以另一种方式处理来自打字稿的文本?
提前感谢,杰登
如果我在 ts-setup 中执行 mysql-select 并调用此选择的结果,比如说,放置在同一站点上的三个扩展,这是否仍然意味着,这个特定的 mysql-select 在每次调用中只执行一次网站的?
如果是这样,在打字稿中执行 mysql-select 并将结果提供给扩展名会更聪明,所以我不必为每个扩展名一遍又一遍地执行相同的 mysql-select,对吧?
还是以另一种方式处理来自打字稿的文本?
提前感谢,杰登
如果那是完全相同的请求,它有望被 mysql-query-cache 缓存。但是,你是对的,请求将被发送 3 次。
如果我理解你的话,你会考虑做某事。像:
lib.mySqlSelect = CONTENT
lib.mySqlSelect ...
plugin.tx_yourplugin.select.cObject < lib.mySqlSelect
这也会导致三个 SQL 查询。
但是您可以使用 LOAD_REGISTER:
plugin.tx_yourplugin.select = {register:mySqlSelect}
plugin.tx_yourplugin.select.insertData = 1
page.1 = LOAD_REGISTER
page.1.mySqlSelect = CONTENT
page.1.mySqlSelect ...
假设“select”具有 stdWrap 属性。
如果你正在编写一个新的扩展,你可以使用$GLOBALS['TSFE']->register[$register] = $theValue;