【问题标题】:Return to previous page in joomla在 joomla 中返回上一页
【发布时间】:2012-10-08 12:36:04
【问题描述】:

我创建了自己的扩展程序。可以从网站的不同组件和部分访问此扩展程序。

我遇到的问题是,可能有许多不同的 URL 链接到此扩展程序。我有一个“取消”按钮,但我不知道如何让这个按钮链接到之前的 URL。

想知道 joomla 中是否内置了 getPreviousURL 之类的东西?找不到任何东西。

编辑:我应该说我仍然希望能够运行我的 cancel() 方法。例如index.php?option=com_mycomp&task=mycomp.cancel。然后,cancel() 方法将执行重定向到上一页。

【问题讨论】:

  • “以前的网址”是什么意思?浏览器历史记录中的前一个网址或其他内容?
  • 好吧,我真的不想使用浏览器历史记录,但是是的,我的意思是如果你点击后退按钮,那就是你会去的 URL。
  • 然后使用“window.history.back();”
  • 我不确定你是否真的理解了这个问题

标签: joomla content-management-system joomla2.5


【解决方案1】:

我是这样做的:

  1. 安装Joomla扩展“jumi”@urlhttp://extensions.joomla.org/extensions/extension/core-enhancements/coding-a-scripts-integration/jumi

  2. 创建一个html文件(例如:back.html)并编写如下代码:

<script>
function goBack()
  {
  window.history.back()
  }
</script>
&lt;input type="button" value="Back" onclick="goBack()" /&gt;
  1. 保存到 Joomla 根目录。

  2. 在Joomla中创建自定义模块并编写语法:

{jumi [back.html]}

  1. 发布此模块

我希望它会起作用。 谢谢

【讨论】:

    【解决方案2】:

    如果我理解你的问题,这肯定会帮助你。 Joomla 不支持类似的东西,但 Javascript 支持。

    JS

    <script>
    function goBack()
      {
      window.history.back()
      }
    </script>
    

    HTML

    <input type="button" value="Cancel" onclick="goBack()" />
    

    back() 方法加载历史列表中的前一个 URL。这是 与单击后退按钮或 history.go(-1) 相同。

    根据需要更新了答案。

    PHP

    如果无法使用 JavaScript,您可以使用 HTTP_REFERER,对其进行清理,然后通过 PHP 将其回显。

    <?php
      $url = htmlspecialchars($_SERVER['HTTP_REFERER']);
      $this->setRedirect($url);
    ?>
    

    如果

    • 在浏览器地址栏中输入了站点 URL。
    • 通过浏览器维护的书签访问了该网站。
    • 在窗口/选项卡中作为第一页访问了该站点。
    • 已安装安全软件(防病毒/防火墙/等),可从所有请求中去除引荐来源网址。
    • 以编程方式访问网站(如 curl),但未设置引荐来源标头(搜索机器人!)。

    如果您遇到任何问题,请告诉我。

    更新答案 - Joomla 方法

    $url = JFactory::getURI();
    $request_url = $url->toString();
    

    【讨论】:

    • 谢谢大顺。抱歉,我应该说我仍然希望能够运行我的 cancel() 方法。例如index.php?option=com_mycomp&task=mycomp.cancel。然后,cancel() 方法将重定向到上一页。
    • 谢谢 - 这似乎不起作用。它只是刷新页面,即它与当前页面的 URL 相同。
    • 看看有没有遇到以上情况
    • 以上都不适用。 htmlspecialchars($_SERVER['HTTP_REFERER']) 正在输出一个 URL,它只是对当前页面 URL 的修改。我认为这可能是因为 joomla 做了一些内部重定向,可能会搞砸
    • 这个 Joomla 方法 $request_url = $url->toString();只显示当前页面不显示上一页
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-02
    • 2010-12-09
    • 1970-01-01
    相关资源
    最近更新 更多