1

我想从另一个控制器加载一个功能。这是我的结构:

- modules
--orderpages
---controllers
----WebshopCore.php
----WebshopController.php

我在 WebshopController.php 中的 insertItemInCart 函数被调用。但是当我想从另一个控制器执行一个函数时,它会崩溃。

class WebshopController extends MX_Controller {
    public function __construct() {
        parent::__construct();
        $this->load->module('orderPages/WebshopCore');
    }

    function insertItemInCart(){
        $partId = $this->input->post('partId');
        $quantity = $this->input->post('quantity');

        $output = $this->WebshopCore->getPickLocations($partId,$quantity);  

    }
}

我的网店核心:

class WebshopCore extends MX_Controller {
    public function __construct() {
        parent::__construct();
    }

    public function getPickLocations($partId,$amount){
        $result = "test";

        return $result;
    }
}

出了什么问题?我不明白

解决方案:

$output = modules::load('orderPages/WebshopCore/')->getPickLocations($partId,$quantity);
4

1 回答 1

0

在这种情况下,您应该编写一个库。

在应用程序/库中创建 Cart.php (或任何你想要的)

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Cart
{
  protected $ci;

    public function __construct()
    {
        $this->ci =& get_instance(); 
    }

    public function getPickLocations($partId, $qty)
    {
       //Your stuff
    }

}

然后在你的控制器中:

 $this->load->library("cart");
 $data = $this->cart->getPickLocations($this->input->post('partId'), $this->input->post('quantity'));
于 2016-03-05T14:19:05.947 回答