1

我正在移植一个使用 Symfony 框架的遗留系统。我几乎没有使用 Symfony 的经验。

我需要覆盖到外部站点的操作的路由,并将会话值作为参数包含在内。

这是当前routing.yml代码

mysystemtool:
  url:   /:module/mysystemtool/tool/*
  param: { action: mysystemtool }

我需要重定向到一个像http://thirdpartyurl.com/?session_param=session_value

知道怎么做吗?

4

1 回答 1

10

你不能路由它本身,因为路由只用于内部的东西。也就是说,您可以在控制器中重定向:

public function executeMysystemtool(sfWebRequest $request) {

    $param = $this->getUser()->getAttribute('session_param', 'default_value');
    $this->redirect('http://thirdpartyurl.com?session_param='.$param);
}

当然,您需要actions.class.php在模块中进行设置,以便您可以编写此操作,但如果它是现有操作,那么您只需要更改操作中的逻辑。

于 2012-07-09T22:58:56.793 回答