prestashop中管理控制器的renderView()问题

时间:2017-05-06 07:15:25

标签: prestashop prestashop-1.6

我使用以下代码创建了一个新的自定义模块,它在后台显示一个列表视图。

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

请帮我解决这个问题。

提前致谢。

1 个答案:

答案 0 :(得分:0)

正确的是

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

" Config"在prestashop 1.6中不是一个类