2017-05-06 44 views
0

我使用以下代碼創建了一個新的自定義模塊,它在後臺顯示了一個列表視圖。prestashop中管理控制器的renderView()問題

class AdminTestController extends ModuleAdminController { 
    public $bootstrap = true; 

    public function __construct() { 
     $this - > table = 'test'; 
     $this - > className = 'TestData'; 
     $this - > lang = false; 
     $this - > deleted = false; 
     $this - > addRowAction('edit'); 
     $this - > addRowAction('view'); 


     $this - > fields_list = array(
      'id_test' => array(
       'title' => $this - > l('ID'), 
       'align' => 'center', 
       'width' => 25 
      ), 
      'name' => array(
       'title' => $this - > l('Name'), 
       'width' => 'auto', 
      ) 
     ); 

     $this - > bulk_actions = array(
      'delete' => array(
       'text' => $this - > l('Delete selected'), 
       'confirm' => $this - > l('Delete selected items?') 
      ) 
     ); 

     $this - > context = Context::getContext(); 

     parent::__construct(); 
    } 

    public function renderForm() { 
     /** @var Test $obj */ 
     if (!($obj = $this - > loadObject(true))) { 
      return; 
     } 

     $this - > fields_form = array(
      'legend' => array(
       'title' => $this - > l('TEST') 
      ), 
      'input' => array(
       array(
        'type' => 'text', 
        'label' => $this - > l('Name'), 
        'name' => 'name', 
        'size' => 33, 
        'required' => true 
       ), 
      ), 
      'submit' => array(
       'title' => $this - > l(' Save '), 
       'class' => 'button pull-right' 
      ) 
     ); 

     return parent::renderForm(); 
    } 

    public function renderView() { 
     /** @var Test $test */ 
     if (!($test = $this - > loadObject())) { 
      return; 
     } 

     $data = Config::getDataForm(Tools::getValue('id_test')); 
     // var_dump($data); 

     $this - > tpl_view_vars = array(
      'id_test' => $data['id_test'], 
      'name' => $data['name'], 
     ); 

     return parent::renderView(); 
    } 
} 

其中我有一個renderView()函數來顯示新頁面中的特定列表值。

,但我得到以下視圖頁上的錯誤,

Fatal error: Class 'Config' not found in /var/www/html/prestashop/modules/test/controllers/admin/AdminTestController.php on line 145 

我是新來的Prestashop。我正在使用prestashop 1.6

請幫助我解決此問題的人。

在此先感謝。

回答

0

正確的是

$data = Tools::getValue('id_test'); 

「配置」 是不是在的Prestashop 1.6

0

類檢查以下行代碼:

$data = Config::getDataForm(Tools::getValue('id_test')); 

的功能,你在呼喚這裏(即getDataForm())在PrestaShop中不存在,即使Config類也不存在。

這是不可能的,爲什麼你使用這行代碼,但你應該刪除這行調用getDataForm()函數。