如何在yii2中使用Url :: remember

时间:2016-05-28 07:40:05

标签: yii2

我想在错误页面上创建一个链接,以便用户返回上一个链接。 假设当前URL为http://example.com/site/product,并且用户尝试查看 http://example.com/site/product?id=100和id = 100的产品没有退出,系统应该向错误页面抛出404错误,现在如果我想创建一个链接以将用户带回http://example.com/site/product之前的URl如何我能做到这一点吗?我可以通过在我的错误视图文件中硬编码来完成这项工作,但我想动态,因为我有许多控制器使用相同的视图文件的操作。

我在我的网站conteoller中尝试这个

log4j: reset attribute= "false".
log4j: Threshold ="null".
log4j: Retreiving an instance of org.apache.log4j.Logger.
log4j: Setting [ccbb.hrbeu] additivity to [true].
log4j: Level value for ccbb.hrbeu is  [TRACE].
log4j: ccbb.hrbeu level set to TRACE
log4j: Class name: [org.apache.log4j.ConsoleAppender]
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n].
log4j: Adding appender named [console] to category [ccbb.hrbeu].
log4j: Level value for root is  [ERROR].
log4j: root level set to ERROR
log4j: Class name: [org.apache.log4j.RollingFileAppender]
log4j: Setting property [append] to [false].
log4j: Setting property [maxFileSize] to [1024MB].
log4j: Setting property [maxBackupIndex] to [2].
log4j: Setting property [file] to [ExonImpact.error.log.txt].
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n].
log4j: setFile called: ExonImpact.error.log.txt, false
log4j: setFile ended
log4j: Adding appender named [fileerror] to category [root].

并尝试将错误视图文件中的值设为此

但它没有vaule .. 关于如何使这项工作有任何好主意,我也愿意接受新的解决方案

1 个答案:

答案 0 :(得分:0)

这是表格Yii2指南http://www.yiiframework.com/doc-2.0/guide-helper-url.html#remember-urls

  

有些情况下,您需要记住网址,然后再使用它   在处理顺序请求之一期间。有可能   通过以下方式实现:

// Remember current URL  Url::remember();

// Remember URL specified. See Url::to() for argument format.
Url::remember(['product/view', 'id' => 42]);

// Remember URL specified with a name given
Url::remember(['product/view', 'id' => 42], 'product');
     

在下一个   请求我们可以通过以下方式记住URL:

$url = Url::previous();
  // or 
$productUrl = Url::previous('product');