Prestashop 1.6.1 Поля вспомогательной формы неопределенный индекс
Я борюсь с этим в течение нескольких часов: я пытаюсь добавить новые поля в форму, сгенерированную с помощью класса HelperForm в Prestashop для пользовательского модуля.
Я пытаюсь сделать это для страницы конфигурации модуля в 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="">
Что я попробовал:
- Изменение типа ввода с текста на цвет, например, и это дало ту же ошибку
- Меняется содержимое ярлыка и название содержимого, а ошибка все равно появляется
Я ничего не менял в основных файлах.
Итак, форма строится для этих входных данных, но эта вещь с "неопределенным индексом" все еще происходит.
2 ответа
Таким образом, очевидно, они заставляют вас выбирать какое-то значение по умолчанию для входных данных.
я просто решил это, добавив эту строку:
$helper->fields_value['CROSSSELLING_NBR'] = '';
Согласно вашему коду...
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.')
)