0

我有一个函数 renderForm

$this->fields_form = array(
        'tinymce' => true,
        'legend' => array(
            'title' => $this->l('Category'),
            'icon' => 'icon-folder'
        ),
        'input' => array(

            array(
                'type' => 'checkbox',
                'label' => $this->l('Group access'),
                'name' => 'checkBox',
                'values' => array(
                    'query' => Group::getGroups($this->id_lang),
                    'id' => 'id_group',
                    'name' => 'name'
                ),
                'unidentified' => $unidentified_group_information,
                'guest' => $guest_group_information,
                'customer' => $default_group_information,
                'info_introduction' => $this->l('You now have three default customer groups.'),
                'hint' => $this->l('Mark all of the customer groups which you would like to have access to this category.')
            )
        ),
        'submit' => array(
            'title' => $this->l('Save'),
            'class' => 'btn btn-large btn-success pull-right'
        )
    );

我需要获取复选框的值以插入数据库

print_r($_POST)显示checkBox_1 => on,checkBox_2 => on

这个类扩展ModuleAdminController

4

1 回答 1

1

它在fields_form中缺少一个表单数组。Prestashop renderForm的正确结构必须是:

$fields_form = array(
    'form' => array(
        'tinymce' => true,
        'legend' => array( ... ),
        'input' => array( ... ),
        'submit' => array( ... )
    )
)

Aprint_r($_POST)将输出如下内容:

Array (
    [Form_id] => 1
    [form_id] => Form_id
    [checkBox] => 1
    [tab] => AdminModules
)

要获取复选框值:

$checkBoxValues = Tools::getValue('checkBox');
于 2018-01-09T10:38:47.677 回答