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

Создание в OpenCart инструмента экспорта товаров в CSV

От автора: эта статья является частью серии под названием «Создание в OpenCart инструмента импорта товаров из CSV». Предположим, у вас есть список товаров магазина, цены на которые необходимо обновлять. Но вы ненавидите ручную работу? Вам нужно решение, с помощью которого вы сможете напрямую импортировать список, и все товары и цены на них обновлятся автоматически. Да! Это именно то, что мы собираемся сделать. По умолчанию OpenCart не предоставляет возможности для импорта продуктов из любого внешнего источника, в этом случае нам нужно разработать модуль, который можно будет использовать для импорта.

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

Что мы будем создавать?

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

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

Шаг 1: Добавление ссылки

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

Интернет-магазин на 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” и т. д. Просто вставьте данный код выше всех остальных кнопок.

<a onclick="location = '<?php echo $import_csv; ?>'" class="button">Import CSV</a>

Шаг 3: Функция контроллера

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

3.1 Настройка тайтлов и заголовков

$this->document->setTitle('Import  CSV');
 // настройка тайтла страницы
$this->data['heading_title']="Import 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' => "Import 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-код.

<div id="content">
<div class="breadcrumb">
<?php foreach ($breadcrumbs as $breadcrumb) { ?>
<?php echo $breadcrumb['separator']; ?>
//отображаем данные хлебных крошек
<a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a>
<?php } ?>
 
</div>
<?php if ($success) { ?>
 <div class="success"><?php echo $success; ?></div>
 <?php } ?>
 
  <?php if ($error_warning) { ?>
  <div class="warning"><?php echo $error_warning; ?></div>
  <?php } ?>
 
<div class="box">
<div class="heading">
<h1>
<img src="view/image/product.png" alt="" />
 <?php echo $heading_title; ?>
</h1>
 
<div class="buttons">
<a onclick="$('#form').submit();" class="button">Import</a>
<a onclick="location = '<?php echo $cancel; ?>';" class="button">Cancel</a></div>
</div>
<div class="content">
<form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="form">
<table class="form">
<tr>
<td><span class="required">*</span> CSV</td>
<td><input type="file" name="csv" value="" />
<?php if ($error_csv) { ?>
<span class="error"><?php echo $error_csv; ?></span>
<?php } ?>
</td>
</tr>
</table>
</form>
</div>
</div>

Вы можете создать собственный шаблон, приведенный выше код — всего лишь предлагаемый вариант.

Заключение

В этой части руководства мы выполнили несколько действий по созданию «Инструмента импорта». Мы изменили шаблон, создали форму, чтобы пользователю было удобно работать. В следующей части мы продолжим. Эта статья была разделена на части с целью дать вам представление о том, что такое «Макеты» и «Бизнес-логика». В следующей части мы напрямую будем работать с базой данных и импортируем данные соответствующим образом. Благодарю вас за интерес к этому руководству. До следующей статьи!

Автор: Zaman Riaz

Источник: http://code.tutsplus.com/

Редакция: Команда webformyself.

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

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

Приступить к созданию
Самые свежие новости IT и веб-разработки на нашем Telegram-канале

Интернет-магазин на OpenCart

Создание магазина с уникальным шаблоном на CMS OpenCart

Научиться

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree