別のコントローラーで、ショッピング バスケットからコンテンツを取得する kohana コントローラー関数をインスタンス化したいと考えています。
言い換えれば、私が持っている1つのコントローラーで(basket.phpで)
public function action_index()
{
$basket = $this->basket;
$contents = $basket->contents->find_all();
$this->view->basket = $basket;
$this->view->contents = $contents;
}
そして、この関数を他のコントローラー、sale.php で呼び出したいと考えています。これは、バスケットに既に存在する製品をリストに何らかの方法でマークするためです。製品が実際にリストされているコントローラーsale.phpでこの関数を呼び出したいと思います。
私はsale.phpにあります
public function action_browse($id, $category_id = NULL) {
$sale = Model::factory('sale')->active()->find($id);
$basket_content = $this->user->get_basket($sale);
if ( ! $sale->loaded())
{
throw new Kohana_Request_Exception('Sale not found.');
}
if (isset($category_id))
{
$category = $sale->categories->find($category_id);
if ( ! $category->loaded())
{
throw new Kohana_Request_Exception('Category not found.');
}
$products = $sale->products->category($category_id)->find_all();
$this->view->category = $category;
}
else
{
$products = $sale->products->find_all();
}
ありがとう!