2017-05-06 45 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()函数。