【问题标题】:Joomla - page rendering controlJoomla - 页面渲染控制
【发布时间】:2012-03-28 09:30:21
【问题描述】:

是否可以呈现另一个页面而不是当前正在处理的页面?

例如,我的插件检测到 404 错误,设置相应的 HTTP 标头,然后从网站输出一个正常的页面 - 但在这些 HTTP 404 标头下,因此浏览器和搜索引擎将收到自定义的、好看的 404 页面。

重定向者

<? header("Location: ...'); ?>

不是一个选项。 我需要停止渲染当前页面并渲染另一个页面,但将其显示在这个不存在的 url 下。

如何做到这一点?

【问题讨论】:

  • 你能在你的模板中添加一个自定义的 error.php 文件吗?在 templates/system/error.php 中查看默认的 error.php。
  • 是的,这是一个选项,但我仍然需要完全渲染其他页面,包括所有模块等......

标签: joomla joomla2.5


【解决方案1】:

听起来你需要一个系统事件插件,请看:

http://docs.joomla.org/Plugin/Events/System

特别是 onAfterDispatch 方法:

http://docs.joomla.org/Plugin/Events/System#onAfterDispatch

onAfterDispatch方法是在路由之后调用的,在Joomla判断url是否有效之后,应该是时候介入,重定向到另一个页面了。

【讨论】:

    猜你喜欢
    • 2017-05-14
    • 2021-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-19
    • 1970-01-01
    • 1970-01-01
    • 2017-10-21
    相关资源
    最近更新 更多