Инициализировать постоянную переменную в PS_CONFIGURATION - PullRequest
1 голос
/ 29 мая 2020

На самом деле мой вопрос связан с недоразумением, касающимся функционирования prestashop , в частности, из-за плохо объясненной документации. Фактически, окончательной идеей было бы создать видимый в интерфейсе аккордеон со всеми необходимыми параметрами через форму в бэк-офисе.

Я проконсультировался с начало работы документация, с успехом, и мой вопрос о переменной таблицы PS_CONFIGURATION . Чтобы использовать пример в do c, когда инициализируется переменная MY_MODULENAME? Я хотел бы ввести переменную путем ввода формы, но когда я ввожу их в метод формы отображения, указав в имени имя каждой переменной, у меня возникает ошибка, возвращающая undefined. Мне сказали, что переменные инициализируются во время установки, но после регулярного удаления / переустановки моего модуля ничего не меняется, поэтому я помещаю все переменные в метод install () или getContent () .

Итак, мой вопрос: В какой части основного класса инициализированы все необходимые переменные (я уже знаю, что мы должны использовать ! Configuration :: updateValue () ), чтобы потом использовать их в форме и расшифровать в tpl файл с помощью smarty ?

1 Ответ

1 голос
/ 29 мая 2020

Я не уверен, что хорошо понимаю ваш вопрос, но, возможно, это поможет вам.

в функции getContent() вы генерируете контент, отображаемый в бэк-офисе. Здесь вы создаете форму для отображения и получения параметров.

Когда форма отправляется, что-то вроде этого должно работать для сохранения переменных

if (Tools::isSubmit($this->name)) {
    // process the submitted data 
}

Функция install() в основном используется для регистрации перехватчиков и создания баз данных, в отличие от uninstall(), который должен удалить эти данные для чистой деинсталляции.

На Front End вы зависите от перехватчиков, пока перехватчик не будет вызван любой переменной которые вы определяете, не будут присутствовать в шаблоне, поэтому, вероятно, если вы видите неопределенное уведомление, значит, вы пытаетесь получить доступ к переменной, но все еще не назначена.

Если вы собираетесь создать модуль для своего сайта или для конкретного клиента, и вы не хотите зависеть от хуков, вы можете назначить переменные в хуке заголовка, и тогда вы сможете использовать их в любой части tpls.

Если вы хотите создайте коммерческий модуль, тогда вы должны полагаться на хуки.

Надеюсь, это поможет!

...