1

次のコードがあるとします。

class Module1_IndexController extends Zend_Controller_Action {
  public function indexAction() {
    $this->view->data1 = "This is module1's index action view";
  }
}

class Module2_IndexController extends Zend_Controller_Action {
  public function indexAction() {
    $this->view->data2 = "This is default module2's index action view";
  }
}

class Default_IndexController extends Zend_Controller_Action {
  public function indexAction() {
    // $module1_output = Call Module1_IndexController's indexAction view output
    // $module2_output = Call Module2_IndexController's indexAction view output

    $this->_helper->actionStack("index", "index", "module1");
    $this->_helper->actionStack("index", "index", "module2");
  }
}

最後のコントローラーのような出力を達成することは可能ですか? Zend フレームワーク 1.11 を使用していますが、この機能を実現するための他のソリューションはありますか?

modules/module1/views/scripts/index/index.phtmlに、私は持っています

$module1NavArray = array(
        array( 'label' => 'Nav1', 'uri' => '/home/module1/nav1' )
);
$container = new Zend_Navigation($module1NavContainer);
print $this->navigation( $container );

そしてmodules/module2/views/scripts/index/index.phtmlで

$module2NavArray = array(
        array( 'label' => 'Nav2', 'uri' => '/home/module2/nav2' )
);
$container = new Zend_Navigation($module2NavContainer);
print $this->navigation( $container );

デフォルト モジュールの index アクションの出力は Nav2 リンクであり、2 回出力されます。ただし、ナビゲーションの代わりに文字列を出力すると、出力は「Nav2」と「Nav1」のように順番に出力されます。

4

1 に答える 1