提问人:Gabriel 提问时间:8/8/2018 更新时间:8/8/2018 访问量:1605
Prestashop 1.6.1 Helper 表单字段未定义索引
Prestashop 1.6.1 Helper Form fields undefined index
问:
我为此苦苦挣扎了好几个小时: 我正在尝试将新字段添加到使用 Prestashop 中的 HelperForm 类生成的表单中,以用于自定义模块。
我尝试为函数中模块的配置页面执行此操作getContent()
以下字段被接受并且有效:
array(
'type' => 'file',
'label' => $this->l('Button image'),
'id' => 'button_image_path',
'name' => 'button_image_path',
'image' => '<img src="'._MODULE_DIR_.$this->name.'\\img\\'.basename($buttonImage["setting_value"]).'" class="button-image-preview" width="30">'
)
但是,当我尝试添加其他字段时:
array(
'type' => 'text',
'label' => $this->l('Number of displayed products'),
'name' => 'CROSSSELLING_NBR',
'desc' => $this->l('Set the number of products displayed in this block.'
)
它给出了这个错误:
Notice on line 387 in file D:\wamp\www\qmart.ro\tools\smarty\sysplugins\smarty_internal_templatebase.php(157) : eval()'d code
[8] Undefined index: CROSSSELLING_NBR
但是,仍然会生成输入,如下所示:
<input type="text" name="CROSSSELLING_NBR" id="CROSSSELLING_NBR" value="" class="">
我试过什么:
- 例如,将输入类型从文本更改为颜色,并给出相同的错误
- 更改标签内容和名称内容,仍然出现错误
我没有更改核心文件中的任何内容。
因此,正在为这些输入构建表单,但这种“未定义索引”的事情仍然发生。
答:
1赞
Gabriel
8/8/2018
#1
因此,显然它们会迫使您为输入选择一些默认值。
我通过添加以下行解决了它:
$helper->fields_value['CROSSSELLING_NBR'] = '';
评论
0赞
Skippy le Grand Gourou
8/21/2019
另请参阅此答案下方的评论。
0赞
Rolige
8/8/2018
#2
根据您的代码...
array(
'type' => 'text',
'label' => $this->l('Number of displayed products'),
'name' => 'CROSSSELLING_NBR',
'desc' => $this->l('Set the number of products displayed in this block.'
)
您在“desc”中有一个错误,您需要关闭最后一个括号,这应该有效......
array(
'type' => 'text',
'label' => $this->l('Number of displayed products'),
'name' => 'CROSSSELLING_NBR',
'desc' => $this->l('Set the number of products displayed in this block.')
)
评论