2011-12-05 12 views
1

私は多言語サイトを開発しています。プラグインでビュースクリプトを設定する - 存在するかどうかを確認しますか?

一部の言語では、右から左のレイアウトと左から右のレイアウトが使用されています。

私のビュースクリプトには、自動的にロードする別のRTLビュースクリプトがあります。

は、私は、ユーザーがRTLであるかどうかを確認するプラグインを書いて、はい、それはファイルの接尾辞に「.rtl」を追加した場合: Zend_Controller_Action_HelperBroker ::はgetExistingHelper( 'ViewRendererの) - > setViewSuffix( 『rtl.phtml』 );私は私のコントローラで行う場合

問題が....私のビュースクリプトのすべてではないが、RTLのビュースクリプトを持っているので、私は、ファイルが存在するかどうかを確認したいとの$ this -

という問題です>レンダリング( 'someScript')、私は知っている限り、.rtlスクリプトが存在するかどうかをチェックする方法がありません。

要するに:アクションが終了した後でレンダリングする前に、何らかの方法(イベント)がありますか?

カスタムビューレンダラーを作成する必要がありますか?

ありがとうございました。

答えて

0

アクションが実行された後にのみRTLチェックが行われる場合は、postDispatchフックを使用してViewRenderer経由でviewSuffixを設定し、ビュースクリプトへのパスを取得するアクションヘルパーを作成できます。 scriptPathビューとviewRenderer getViewScript()を使用すると、ファイルへの絶対パスを作成できます。 あなたの目標を達成するのに特に良い方法ではありません。

LTR用とRTL用の2つのscriptPathを作成することをお勧めします。ユーザがRTL言語を使用する場合は、RTL scriptPathをview scriptPathスタックに追加できます。そうすることで、Zend_Viewは最初にRTLディレクトリをチェックし、LTRディレクトリをフォールバックとして使用します。

関連する問題