2012-03-31 1 views
2

Zend Frameworkを使用してサイトを開発しようとしていますが、問題があります。 リンクがあるページを表示するデフォルトコントローラがあります。そのリンクは別のコントローラを使用し、そのコントローラからスタートページにリダイレクトされます(私はカスタムコントローラでstartAction()を実装し、モジュール/ default/view/scripts/discディレクトリにstart.phtmlページを実装しています)。データベースから取り込まれたテーブルと、追加、編集、削除という3つのリンクが含まれています。Zendフレームワークリダイレクタが正常に動作しない

<p><a href="<?php echo $this->url (array ('controller' => 'disc','action' => 'add'));?>">Add</a></p> 

そして、他の2つのリンクのためのアクション名を除き、そのような何かを:追加リンクiについてstart.phtml、次のコードで使用します。リンクの1つを初めて使用すると、すべて正常に動作しますが、開始ページに戻ると、すべてのリンクがもう機能しなくなります。彼らはちょうどスタートページに私を保持します。私のaddActionでは()私は必要なことを行うと、最後に私が開始するに戻るには、次のコードを使用してページ:

$this->_helper->redirector ('start'); 

とスタートページが再びロードされたときに、リンクのポイントを「追加」開始ページに移動し、追加ページには移動しません。他の2つのリンクでも同じことが起こります。

誰でも助けてくれますか?

答えて

0

startは独自のルートである必要があります。その結果、あなたはurlビューヘルパーを使用する場合、デフォルトルートを指定する必要があります。

start.phtmlで

、この試してください:あなたはアクションヘルパーの短い手のバージョンを使用しようとしている

<p><a href="<?php echo $this->url(
     array ('controller' => 'disc','action' => 'add'), 'default'); 
     ?>">Add</a></p> 
+0

は、あなたの答えをいただき、ありがとうございます。私のリンクの2つは最初のものを除いてうまく動作し、同じ方法でそれらをすべて変更します。それは非常に奇妙です。あなたの答えはとても役に立ちました。 – adriana

+0

問題が解決してうれしいです。同じ問題を抱えている人が誰でもすぐに答えを見つけることができるように、この回答を受け入れたものとしてマークすることを検討してください。 –

+0

私はあなたの答えを受け入れているとマークしていますか? – adriana

2

Redirector()

$this->_helper->redirector ('start'); 

ユーティリティメソッドのバージョンとの混同を避けるために(と私は正確なデフォルト値が何であるかわからないので)私は常に正しい形式を使用します。

//the redirector helper has to many options to comfortably short hand. 
//gotoSimple(), gotoUrl() and gotoRoute() are all easy to use. 
$this->_helper->getHelper('Redirector')->gotoSimple('action' => 'start', 'controller' => 'index') 

このような何かをしようと、ユーティリティメソッド_redirect()を使用する(それはURLをacepts):

$this->_redirect('/index/start'); 
関連する問題