Как создать модуль для prestashop? У меня задача написать експорт\импорт в xls для prestashop,как реализовать сам скрипт я более-менее понимаю,но вот интеграция в престашоп не выходит.Все как то очень запутано,контролеры,модели,класы,ООП.
Пытаюсь разобраться как создавать вкладку в админке для модуля при его установке.Ничего не выходит,в документации нету про бекофис и модули для бекофиса,на форумах сложно понять что к чему.
Вот пока такое name = 'productsxls';
$this->tab = 'administration';
$this->version = '1.0';
$this->author = 'Indus indusovich';
$this->need_instance = 0;
$this->ps_versions_compliancy = array('min' => '1.5', 'max' => '1.6');

parent::__construct();

$this->displayName = $this->l('Export/Import XLS');
$this->description = $this->l('This module can export and import your products in excel (xls format) table');

$this->confirmUninstall = $this->l('Are you sure you want to uninstall?');

if (!Configuration::get('productsxls'))
$this->warning = $this->l('No name provided');
}
public function install()
{
$parent_tab = new Tab();
$parent_tab->class_name = 'TabsAdminControllerName';
$parent_tab->module = $this->name;
$parent_tab->id_parent = 0;
$languages = Language::getLanguages(false);
foreach ($languages as $lang)
$parent_tab->name[$lang['id_lang']] = 'Tab Name';
$parent_tab->save();
}

public function uninstall()
{
if (!parent::uninstall() || !Configuration::deleteByName('productsxls'))
{
return false;
}
return true;
}

}
?>

21 Авг 2019 в 07:06
207 +1
0
Ответы
1

Для создания модуля в Prestashop и добавления вкладки в админке при его установке, необходимо выполнить следующие шаги:

Создайте папку с названием вашего модуля (например, productsxls) в директории modules в корне вашего Prestashop.

Создайте файл productsxls.php в вашей папке модуля и добавьте в него следующий код:

<?php
if (!defined('_PS_VERSION_'))
exit;
class ProductsXls extends Module
{
public function __construct()
{
$this->name = 'productsxls';
$this->tab = 'administration';
$this->version = '1.0';
$this->author = 'Indus indusovich';
$this->need_instance = 0;
$this->ps_versions_compliancy = array('min' => '1.5', 'max' => '1.6');
parent::__construct();
$this->displayName = $this->l('Export/Import XLS');
$this->description = $this->l('This module can export and import your products in excel (xls format) table');
$this->confirmUninstall = $this->l('Are you sure you want to uninstall?');
if (!Configuration::get('productsxls'))
$this->warning = $this->l('No name provided');
}
public function install()
{
if (!parent::install() ||
!$this->registerHook('header') ||
!$this->registerHook('backOfficeHeader') ||
!$this->createTab())
{
return false;
}
return true;
}
public function uninstall()
{
if (!parent::uninstall() ||
!$this->deleteTab())
{
return false;
}
return true;
}
public function createTab()
{
$parent_tab = new Tab();
$parent_tab->class_name = 'AdminProductsXls';
$parent_tab->module = $this->name;
$parent_tab->id_parent = Tab::getIdFromClassName('IMPROVE_YOUR_CLASS_NAME'); // Укажите родительскую вкладку
$languages = Language::getLanguages(false);
foreach ($languages as $lang)
{
$parent_tab->name[$lang['id_lang']] = 'Export/Import XLS';
}
if (!$parent_tab->save())
{
return false;
}
return true;
}
public function deleteTab()
{
$id_tab = Tab::getIdFromClassName('AdminProductsXls');
if ($id_tab)
{
$tab = new Tab($id_tab);
if (!$tab->delete())
{
return false;
}
}
return true;
}
}
?>

В файле productsxls.php укажите правильное имя класса и название родительской вкладки в методах createTab() и deleteTab().

В родительской вкладке укажите имя модуля, которое соответствует классу вашего модуля в файле productsxls.php.

После этого установите модуль в админке Prestashop и появится вкладка "Export/Import XLS".

Надеюсь, это поможет вам создать модуль для Prestashop и добавить вкладку в админке при установке модуля.

20 Апр в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 654 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир