2016-02-13 25 views
2

我使用Opencart的版本2.1.0.1,如何加載在管理控制器前端模式,如何加載管理控制器目錄模型

我已經告訴外界預訂ID的模型功能

class ModelShippingParcelled extends Model { 
     public function getParcelledBooking($order_id) { 
      $query = $this->db->query("SELECT booking_id FROM " . DB_PREFIX . "parcelled WHERE order_id = '" . (int)$order_id . "'"); 
      return $query->row; 
    } 

我想在管理控制器中加載這個模型。做這個的最好方式是什麼? 我是否應該在管理員中重寫這個模型?但我不想重寫相同的功能。如果有一個好方法,請建議!

+0

通常情況下,您最終需要在管理區域添加一些額外的模型功能,所以現在只需創建一個包含重複代碼的管理模型。這樣,它也遵循預期的架構(管理員和目錄應該能夠相互獨立地操作) –

回答

0

那麼,有一個醜陋的伎倆來實現你想要的。例如,如果你想使用前端的目錄/產品型號從管理控制器,那麼您可以:

require_once $_SERVER['DOCUMENT_ROOT'] . "/catalog/model/catalog/product.php"; 
$product = new ModelCatalogProduct($this->registry); 

這也將工作,當你想使用來自前端控制器的管理模式,只是改變了require聲明。

+1

使用這種方法,您可能會因爲重新命名致命錯誤而結束,因爲管理員和目錄中的大部分命名都是相同的。但我同意,除了直接複製或複製模型功能之外,它是唯一的解決方案。 –

0

我建議你在admin文件夾中製作模型的副本。 如果您確定要使用哪些功能,請僅複製它們。

相關問題