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.')
)
Другие вопросы по тегам