我将以下代码段连接到 FormIt 电子邮件表单:
$tv = "taken" . (int)$hook->getValue('datetime');
$docID = $modx->resource->get('id'); //get the page id
$page = $modx->getObject('modResource', $docID);
$current = (int)$page->getTVValue($tv);
if (!$page->setTVValue($tv, $current + 1)) {
$modx->log(xPDO::LOG_LEVEL_ERROR, 'There was a problem saving your TV...');
}
$modx->setPlaceholder('successMessage','<h2 class="success">'.$current.'</h2>');
return true;`
它每次运行时都会增加一个模板变量并输出一条成功消息(尽管现在我正在使用该功能来输出调试消息)。问题是,它只在保存片段后增加电视一次,从而刷新缓存。通常我会通过附加来调用没有缓存的片段!以它的名字命名,但这似乎不适用于 FormIt 钩子。我怎样才能让这个代码工作?现在,我将整个页面作为不可缓存的方式运行,但这显然不是最理想的。也许,有一种方法可以以未缓存的方式挂钩片段?将片段中的片段调用为未缓存?