在OpenCart中构建产品CSV导入工具-第1部分

假设您有一家商店的产品清单,其价格需要在现场进行更新。 但是您讨厌体力劳动吗? 您需要一个可以直接导入该列表的解决方案,只需单击几下即可更新所有产品和价格。 是! 这就是我们要做的。 默认情况下,OpenCart不提供从任何外部来源导入产品的功能,在这种情况下,我们必须开发一个可用于导入的模块。

在上一篇文章中,我们已经导出了一些产品及其信息(产品ID,型号,产品名称和价格),因此继续进行我们先前的工作,就可以开始构建导入工具了!

我们会做什么?

今天,我们将在OpenCart中添加导入系统。 众所周知,OpenCart是一种免费的电子商务解决方案,它也使开发人员可以相应地对其进行自定义。 让我们来谈谈购物商店。 每天都会发生很多变化,例如数量变化,价格变化,描述变化等。

对于任何发展的业务来说,更新商店都是非常重要的,店主应该了解其竞争对手,所以情况会发生变化……! 现在的问题是,是否有人在网上开商店,他想改变产品的价格。 他会怎么做? 为此,我们提供了一种方法,通过该方法,用户可以根据自己的业务需求进行替换。 因此,如果您正在运营一家电子商店,并且想要进行一些更改,则此导入系统将以最佳方式帮助您。 因此,在第一部分中,我们将创建一个表单/界面,管理员用户可以在其中上传CSV文件。 有关参考,请访问构建产品CSV导出工具-OpenCart

步骤1:添加链接

  1. 导航到(store_path)/admin/controller/catalog/product.php

  2. 找到代码行: $this->data['products'] = array();

  3. 在其后插入给定的代码:

$this->data['import_csv'] = $this->url->link('catalog/product/importCSV', 'token=' . $this->session->data['token'] . $url, 'SSL');
(上面的代码我们解析了链接,因此我们可以将其分配给按钮)

步骤2:在视图中添加按钮

  1. 转到(store_path)/admin/view/template/catalog/product_list.tpl
  2. 您会找到一些HTML代码。
  3. 只需找到名为“按钮”的类
  4. 在课堂上,您将看到更多按钮,例如“插入”,“复制”等。
  5. 只需将给定的代码粘贴到所有按钮的顶部
  6. <a onclick="location = '<?php echo $import_csv; ?>'" class="button">Import CSV</a>
OpenCart仪表板

步骤3:控制器功能

当我们在上面创建按钮时,我们将在同一控制器文件(即(store_path)/admin/controller/catalog/product.php创建一个公共功能。 确保函数名称应与您在链接中上面提到的名称匹配。 所以我们编写了一个名为importCSV()的公共函数

函数内部,需要编写几行代码

3.1设置标题和标题

$this->document->setTitle('Import  CSV');
 // setting the page title
$this->data['heading_title']="Import CSV"; // parsing up heading title

3.2加载模型

以下行加载了模型供以后使用:

$this->load->model('catalog/product'); //loading product model for import purposes

3.3操作和取消URL

现在,我们在创建表单时,将为用户解析“上传”和“取消”链接。

$this->data['cancel'] = $this->url->link('catalog/product', 'token=' . $this->session->data['token'] . $url, 'SSL');
 // cancel url
$this->data['action'] = $this->url->link('catalog/product/importCSV', 'token=' . $this->session->data['token'] . $url, 'SSL');
 // current page url

3.4面包屑

// Breadcrumbs start here    
$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);
//home page link
$this->data['breadcrumbs'][] = array('text' => "Import CSV",
'href' => $this->url->link('catalog/product', 'token=' . $this->session->data['token'] . $url, 'SSL'), 'separator' => ' :: ');
//product page link
// breadcrumbs end here

3.5设置模板

我们将告诉控制器渲染该视图的import_csv.tpl

$this->template = 'catalog/import_csv.tpl';
    //giving the path of template
	// “import_csv.tpl” is a template name which will created later
	$this->children = array(
	'common/header',
	'common/footer');
	//calling header & footer
	$this->response->setOutput($this->render());
            // rendering the view

步骤#4:CSV上传表单

现在我们需要创建另一个模板,该模板将在单击按钮后显示

  1. 只需遵循上述路径(store_path)/admin/view/template/catalog
  2. 创建一个文件名称为import_csv.tpl
  3. 在您喜欢的IDE中打开模板,然后粘贴以下简单HTML代码。
<div id="content">
<div class="breadcrumb">
<?php foreach ($breadcrumbs as $breadcrumb) { ?>
<?php echo $breadcrumb['separator']; ?>
//display breadcrumb data
<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>
OpenCart目录

您可以创建自己的模板,上面的代码是它的简单版本。

结论

在本教程的这一部分中,我们遵循一些步骤来创建“导入工具”,在这方面,我们修改了模板,创建了表格以为用户提供更好的可行性。 在本文的下一部分。 将本文分为两(2)个系列的目的是使您清楚此模块的“布局”和“业务逻辑”。 因此,在我们的下一篇文章中,CSV将直接与数据库协调并相应地导入数据。 感谢您的关注,请提供您的建议和意见。 直到下一篇文章,快乐编码!

翻译自: https://code.tutsplus.com/articles/building-a-product-csv-import-tool-in-opencart-part-1--cms-24093

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值