別のモジュールにリダイレクトするにはどうすればよいですか?Zend Framework 2リダイレクト
return $this->redirect()->toRoute(null, array(
'module' => 'othermodule',
'controller' => 'somecontroller',
'action' => 'someaction'
));
これはうまくいきません。
別のモジュールにリダイレクトするにはどうすればよいですか?Zend Framework 2リダイレクト
return $this->redirect()->toRoute(null, array(
'module' => 'othermodule',
'controller' => 'somecontroller',
'action' => 'someaction'
));
これはうまくいきません。
これは私が別のルートに私のコントローラからリダイレクトする方法です:
return $this->redirect()->toRoute('dns-search', array(
'companyid' => $this->params()->fromRoute('companyid')
));
DNS検索が、私はにリダイレクトするルートである
と企業IDは、URLのparamsです。
終わりではURLは、(例えば)/ DNS /検索/ 1になり
を参照してください。コード実行が期待される場合は、悪いことが起こる可能性があるので、 "return"キーワードを忘れないようにしてくださいそれなしでそこで止まることを;-) – AlexMA
これはZF2にリダイレクトする方法です:
return $this->redirect()->toRoute('ModuleName',
array('controller'=>$controllerName,
'action' => $actionName,
'params' =>$params));
私はこれがあなたを助け願っています。
'ModuleName'は' RouteName'でなければなりません –
リダイレクトする簡単な方法の一つは次のとおりです。
return $this->redirect()->toUrl('YOUR_URL');
これはうまくいきました。 'return $ this-> redirect() - > toUrl( '/ make-world-easy?id =ありがとう'); ' – YumYumYum
この解決策は、別の目的のためです:他のリソースへのリンクに使用されます。原則としてそれは重要ではありませんが、あなたがZend-ishのアプローチを必要とするならば、受け入れられた答えは最高です。 –
Googleはこの質問がZF2に関連していること、考えてはアンカーにリダイレクトするので、あなたが気にしない場合、私は、ここに答えを追加します。私達はちょうどtoRoute
の第三引数にfragment
オプションを使用することができます。
public function doAction(){
return $this->redirect()
->toRoute('chats',
array('action' => 'view',
'id' => $message->getChat()->getId()
),
array('fragment' => 'm' . $message->getId())
);
}
マイルート:
は'chats' => array(
'type' => 'segment',
'options' => array(
'route' => '/chats/[:action/][:id/]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Application\Controller\Chats',
'action' => 'index',
),
),
),
ので、ユーザーはあなたがリダイレクトしている場合/chats/view/12/#m134
のようになめらかに指示されます、にリダイレクトルート名。別のアクションをディスパッチするだけの場合は、forward()ヘルパーを使用してください。 http://framework.zend.com/manual/2.1/en/modules/zend.mvc.plugins.html – Sam