Drupal 视图 Header PHP 代码无法使用 AJAX 启用视图

Drupal Views Header PHP code not working with AJAX Enabled View

我在视图 header 中有一些自定义 PHP 代码,用于根据 URL 加载不同的图像。视图在初始加载时工作正常,但一旦我更改任何启用 AJAX 的过滤选项,Header 就会消失。示例代码:

$req = $_SERVER['REQUEST_URI'];
if (preg_match("/TEXT-IM-LOOKING-FOR/", $req))
{
 ...HTML HERE...
}

我通过使用 dpm() 打印 $req 检查了 URI,它返回了我在字符串中查找的文本,只是由于某种原因未能重新加载 header。如果由于某种原因无法完成,是否有任何方法可以保留 header 并仅重新加载视图的 body?

出于您引用的原因,将 HTTP headers 放入 template/view 几乎不是一个好主意。切换到 AJAX(在 drupal 中)似乎会更改(可能删除)正在发送的 headers。

您应该尝试在到达 template/view 之前将此代码放入控制器中。