Prestashop 1.6.1 Helper 表单字段未定义索引

Prestashop 1.6.1 Helper Form fields undefined index

提问人:Gabriel 提问时间:8/8/2018 更新时间:8/8/2018 访问量:1605

问:

我为此苦苦挣扎了好几个小时: 我正在尝试将新字段添加到使用 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="">

我试过什么:

  • 例如,将输入类型从文本更改为颜色,并给出相同的错误
  • 更改标签内容和名称内容,仍然出现错误

我没有更改核心文件中的任何内容。

因此,正在为这些输入构建表单,但这种“未定义索引”的事情仍然发生。

prestashop smarty form-helpers undefined-index formhelper

评论


答:

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.')
)