Створення в OpenCart інструменту імпорту товарів з CSV — Частина 1

296

Від автора: ця стаття є частиною серії під назвою «Створення в OpenCart інструменту імпорту товарів з CSV». Припустимо, у вас є список товарів магазину, ціни на які необхідно оновлювати. Але ви ненавидите ручну роботу? Вам потрібно рішення, за допомогою якого ви зможете безпосередньо імпортувати список, і всі товари і ціни на них оновлюватися автоматично. Так! Це саме те, що ми збираємося зробити. За замовчуванням OpenCart не надає можливості для імпорту продуктів з будь-якого зовнішнього джерела, в цьому випадку нам потрібно розробити модуль, який можна буде використовувати для імпорту.

У нашій попередній статті ми експортували товари та інформацію про них (ідентифікатор товару, модель, назву товару та ціну), тому, продовжуючи цю роботу, давайте приступимо до створення інструмента, з допомогою якого будемо робити в OpenCart імпорт товару!

Що ми будемо створювати?

Ми додамо в OpenCart систему імпорту. Як ми знаємо, OpenCart — це безкоштовне рішення для електронної комерції, який дозволяє розробникам налаштовувати його певним чином. Давайте розглянемо магазини. В ході їх роботи різні речі дуже часто змінюються, наприклад, змінюються кількості, ціни, описи і т. д.

Для будь-якого бізнесу, щоб рости, дуже важливо оновлювати інформацію в магазині, і власник також повинен отримувати інформацію про дії своїх конкурентів. Тому знову все змінюється …! А якщо у нього є інтернет-магазин, і він хоче змінити ціни на товари, що йому робити? Для цього йому надаються кошти, з допомогою яких користувачі можуть змінювати елементи відповідності з потребами бізнесу. Тому, якщо ви використовуєте онлайн-магазин і хочете внести деякі зміни, ця система імпорту допоможе вам впоратися з цим завданням. Таким чином, у цій першій частині ми створимо форму / інтерфейс, через яку користувач-адміністратор може завантажити CSV-файл. Для отримання додаткової інформації прочитайте статтю Створення в OpenCart інструменту експорту товарів в CSV.

Крок 1: Додавання посилання

Відкрийте файл (путь_к_магазину)/admin/controller/catalog/product.php. Знайдіть рядок коду: $this->data[‘products’] = array(); Вставити після неї наведений нижче код:

Створення в OpenCart інструменту імпорту товарів з CSV — Частина 1

Інтернет-магазин на OpenCart!

Створити інтернет-магазин на самій популярної CMS OpenCart з нуля!

Приступити до створення

$this->data[‘import_csv’] = $this->url->link(‘catalog/product/importCSV’, ‘token=’ . $this->session->data[‘token’] . $url, ‘SSL’);

(В даному коді ми парсировали посилання, щоб її можна було призначити кнопці)

Крок 2: Додавання кнопки в поданні

Відкрийте файл (путь_к_магазину)/admin/view/template/catalog/product_list.tpl. У ньому буде розміщено HTML-код. Просто знайдіть клас з ім’ям “button”. У цьому класі ви знайдете додаткові кнопки, такі як “insert”, “copy” і т. д. Просто вставте цей код вище всіх інших кнопок.

Імпортувати CSV

Створення в OpenCart інструменту імпорту товарів з CSV — Частина 1

Крок 3: Функція контролера

Оскільки вище ми створили команду, тепер нам потрібно створити публічну функцію в тому ж файлі контролера, тобто (путь_к_магазину)/admin/controller/catalog/product.php. Ім’я функції повинно збігатися з ім’ям, зазначеним вище посиланням. Таким чином, ми створили публічну функцію з ім’ям importCSV(). Всередині функції потрібно додати кілька рядків коду.

3.1 Налаштування тайтлов і заголовків

$this->document->setTitle(‘Import CSV’);
// налаштування тайтла сторінки
$this->data[‘heading_title’]=”Імпорт CSV”; // парсинг тайтла

3.2 Завантаження моделі

Наступна модель завантажує модель для подальшого використання:

$this->load->model(‘catalog/product’); //завантаження моделі товарів для ипморта

3.3. URL-адреси дії та скасування дії.

Коли ми створюємо форму, нам потрібно парсировать посилання «Завантажити» і «Скасувати».

$this->data[‘cancel’] = $this->url->link(‘catalog/product’, ‘token=’ . $this->session->data[‘token’] . $url, ‘SSL’);
// url скасування
$this->data[‘action’] = $this->url->link(‘catalog/product/importCSV’, ‘token=’ . $this->session->data[‘token’] . $url, ‘SSL’);
// url поточної сторінки

3.4 Хлібні крихти

// Початок хлібних крихт
$this->data[‘breadcrumbs’] = array();
$this->data[‘breadcrumbs’][] = array(‘text’ => $this->language->get(‘text_home’),
‘href’ => $this->url->link(‘common/home’, ‘token=’ . $this->session->data[‘token’], ‘SSL’), ‘separator’ => false);
//посилання на головну сторінку
$this->data[‘breadcrumbs’][] = array(‘text’ => “Імпорт CSV”,
‘href’ => $this->url->link(‘catalog/product’, ‘token=’ . $this->session->data[‘token’] . $url, ‘SSL’), ‘separator’ => ‘ :: ‘);
// посилання на сторінку товару
// Кінець хлібних крихт

3.5 Настроювання шаблону

Ми вказуємо контролеру відобразити для подання файл import_csv.tpl.

$this->template = ‘catalog/import_csv.tpl’;
//передаємо шлях шаблону
// “import_csv.tpl” – це ім’я шаблону, який ми створимо пізніше
$this->children = array(
‘common/header’,
‘common/footer’);
//виклик футера і хэдера
$this->response->setOutput($this->render());
// відображення подання

Крок 4: Форма завантаження CSV

Тепер нам потрібно створити ще один шаблон, який буде відображатися після натискання кнопки. Нам потрібно просто перейти в (путь_к_магазину)/admin/view/template/catalog. Створіть ім’я файлу, наприклад, import_csv.tpl. Відкрийте шаблон у своїй IDE і вставте в нього наступний простий HTML-код.