1

質問のタイトルが質問全体に合っているかどうかは本当にわかりません。しかし、ここに行きます。

私が現在持っているのは、既存の SaaS プロジェクトです。時間の経過とともに新しいテンプレートを展開したいということ。Google が新機能を導入する方法を考えてみてください。または、他のサイトで「新しいベータ版を試してください」と表示されている場合があります。私たちも同じことをしたいと考えており、最終的には古いルック アンド フィールを段階的に廃止する予定です。

これにより、このアプリケーションは Zend Framework の上に構築されているため、ドキュメントを調べると、特定のコントローラーでテンプレートをオーバーライドする方法を理解できます。しかし、私が基本的にやりたいことは、おそらくセッションを利用することです。存在する場合は、このテンプレートを使用します。そうでない場合は、古いものを使用してください。

そのような方法でデフォルトのテンプレートを上書きすることは可能ですか? たとえば、セッションが存在する場合、デフォルトで読み込まれるファイルは「tops.phtml」です。たとえば、「tops_v2.phtml」を読み込みたいとします。したがって、セッションが見つかったときに、「tops.phtml」の代わりにそれをテンプレートとして使用できます。

4

2 に答える 2

1

Zend Framework 1.x ソリューション:

アクションでプラグインを無効ViewRendererにし、テンプレートを手動で選択できます。

public function indexAction(){
      $this->_helper->viewRenderer->setNoRender(true);
      echo $this->view->render("path/to/template/template.phtml");        
}
于 2013-09-25T16:35:03.083 に答える
0

Richie が簡単に触れたように、レイアウトはおそらく使いたいと思うものだと思います。質問に基づいて、あなたはまだそれらを使用していないと思います。最終的には、Web サイト全体の外観を定義するレイアウトを設計できます。その後、各アクション テンプレートはページのフラグメントのみをレンダリングします (レイアウトのコンテンツ部分に動的に配置されます)。

選択したロジックを使用して、任意の数のレイアウトの 1 つを特定のページの読み込みで使用するように割り当てることができます。もちろん、これをユーザー設定などとして保存することもできます。

于 2013-09-25T16:43:08.030 に答える