2011-07-27 28 views

答えて

0

これは簡単な作業ではありません。 view.ymlは、アクションの「スコープ」内にありません。
おそらく、あなたのアクションではなくviewLymoutをview.ymlで使うことができます。
あなたができない場合は、いくつかの理由のために...あなたはview.ymlで件のデータに到達するために、この方法を試すことができます。
Is it possible to get a value from view.yml in an action

+0

こんにちはdxb、非常に応答いただきありがとうございます。私はview.ymlを使ってレイアウトを設定するほうがはるかにクリーンな方法だと思うが、view.yml(オーバーヘッドを追加しているようだ)を読まないと動作しないように思える。 – mr1031011

+0

私の状況は:私は自分のサイトでpjaxを使い始めましたが、pjaxでは親div(レイアウトに応じて異なるクラス)内にある特定のdivを置き換えるので、レイアウト名を使用してpjaxリクエストの親divのクラス。すべてのオプションを確認した後、最初は別のレイアウトを使用してはならないと決めたので、レイアウトを削除するためにコードを変更しました。しかし、すべてのあなたのポインタは、将来私にとって非常に便利です。 – mr1031011

0

は、アクションに以下のコードを実行します。どちらの場合でも、アクション内またはview.yml内で設定されたレイアウトで動作します。

$controller = $this->getContext()->getController(); 
$view = $controller->getView($this->getModuleName(), $this->getActionName(), 'Success'); // viewName == 'Success' (default) 
$layout_name = $view->getDecoratorTemplate(); // e.g expected: layout.php 

あなたが役に立ったら教えてください。

1

私は最近これを必要としました。あなたが必要なものを得るためにSF_APP_CONFIG_DIRからの相対パスを調整する(または別のマーカーを使用する)だけで

$view_array = sfViewConfigHandler::getConfiguration(array(sfConfig::get('sf_app_config_dir').'/‌​view.yml')); 

:あなたはそれを行うことができますが、あなただけの配列として全体view.ymlの内容を返す必要があります。

関連する問題