我需要在modx 404事件中显示一些数据。
我在目录中有一些文件。当我在404事件中获得特定URL时,我想显示来自特定目录的文件,该文件不是modx资源。
我无法显示任何自定义输出。 我怎么能这样做?
插件中的我已将插件事件设置为onPageNotFind,我尝试过这样:
global $modx;
if ($modx->event->name == 'OnPageNotFound') {
$out = file_get_contents('my_file');
$modx->event->output( $out);
}
我也尝试过这样:
global $modx;
if ($modx->event->name == 'OnPageNotFound') {
$out = file_get_contents('my_file');
$strContent = &$modx->resource->_output;
$strContent = $out;
}
答案 0 :(得分:1)
如果您仅在OnPageNotFound
上触发插件,则无需添加对事件名称的检查。只有当您的插件使用不同的代码处理多个事件时,才需要这样做。
您也无法使用$modx->resource->output
,因为当MODX找不到资源时会触发此插件。
您的插件可能就像这样简单:
$url = 'http://www.example.com/404.html';
$modx->sendRedirect($url);
当MODX无法找到所请求网址的匹配时,只会将用户重定向到您的静态文件。
有关modX::sendRedirect()
的更多信息:http://rtfm.modx.com/revolution/2.x/developing-in-modx/other-development-resources/class-reference/modx/modx.sendredirect