OpenCart开源电子商务网站系统php。该电商网站系统安装方便,功能强大,操作简单。支持多语言、多货币和多店铺。OpenCart 外围开发生态圈发达,可对接 Odoo、Beahu、用友、金蝶等知名 ERP 系统。更有上万款免费和收费的模块插件和模板主题可供选择。代码完全开源,功能持续更新,代码结构清晰易懂,二次开发容易上手,入门门槛低。
分享opencartV3.0火车头发布接口
<?php /** * Created by Lewell Inc. * http://www.yaaibk.com * User: xiao jiang * Date: 2018/11/15 * Time: 9:54 */ ini_set('error_reporting', 'E_ALL'); /********密码验证***********/ $password='123456'; //这个密码是登陆验证用的.您需要在模块里设置和这里一样的密码....注意一定需要修改. if($password!=$_GET['pw']) exit('验证密码错误'); //安全检测,密码不符则退出 define('VERSION', '3.0.2.1'); define('OCTYPE', 'FREE'); if (is_file('config.php')) { require_once('config.php'); } require_once('../vqmod/vqmod.php'); VQMod::bootup(); require_once(VQMod::modCheck(DIR_SYSTEM . 'startup.php')); require_once(DIR_SYSTEM . 'library/db.php'); if(empty($_POST)) { $jiekou = new jiekou(2); $jiekou->getCates(); } else { require_once(DIR_SYSTEM . 'helper/utf8.php'); $post = clean($_POST); $jiekou = new jiekou(intval($post['language_id'])); if (!empty($post['image']) && strpos($post['image'], 'http') !== false) { $arr = explode('.', $post['image']); $ext = array_pop($arr); $img_dir = 'product/'. time() . mt_rand(9, 999999). '.'. $ext; $img_full_dir = DIR_IMAGE .$img_dir; if(!@copy($post['image'], $img_full_dir)) { $errors= error_get_last(); exit('获取商品主图失败<br>\n'.$errors['message']); } $post['image'] = $img_dir; } if (!empty($post['product_images']) && strpos($post['product_images'], 'http') !== false) { $temArr = explode('||', $post['product_images']); $post['product_image'] = array(); foreach ($temArr as $k => $v) { if(strpos($v, 'http') !== false) { $arr = explode('.', $v); $ext = array_pop($arr); $img_dir = 'product/'. time() . mt_rand(9, 999999). '.'. $ext; $img_full_dir = DIR_IMAGE .$img_dir; if(!@copy($v, $img_full_dir)) { $errors= error_get_last(); exit('获取商品附加图失败<br>\n'.$errors['message']); } $post['product_image'][$k]['image'] = $img_dir; } else { $post['product_image'][$k]['image'] = $v; } $post['product_image'][$k]['sort_order'] = 0; } } $jiekou->addProduct($post); } class jiekou { protected $db; protected $config_language_id; function __construct($config_language_id) { if (defined('DB_PORT')) { $port = DB_PORT; } else { $port = ini_get('mysqli.default_port'); } $this->db = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE, $port); $this->config_language_id = $config_language_id; } public function getCates () { $sql = "SELECT c1.status, cp.category_id AS category_id, GROUP_CONCAT(cd1.name ORDER BY cp.level SEPARATOR ' > ') AS name, c1.parent_id, c1.sort_order FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "category c1 ON (cp.category_id = c1.category_id) LEFT JOIN " . DB_PREFIX . "category c2 ON (cp.path_id = c2.category_id) LEFT JOIN " . DB_PREFIX . "category_description cd1 ON (cp.path_id = cd1.category_id) LEFT JOIN " . DB_PREFIX . "category_description cd2 ON (cp.category_id = cd2.category_id) WHERE cd1.language_id = '" . (int)$this->config_language_id . "' AND cd2.language_id = '" . (int)$this->config_language_id . "'"; $sql .= " GROUP BY cp.category_id"; $sql .= " ORDER BY name"; $sql .= " ASC"; $query = $this->db->query($sql); echo '<select>'; foreach ($query->rows as $result) { $data[] = array( 'category_id' => $result['category_id'], 'name' => $result['name'], ); echo "<option value='".$result['category_id']."'>".$result['name']."</option>"; } echo '</select>'; exit(); } public function validateForm($post) { foreach ($post['product_description'] as $language_id => $value) { if ((utf8_strlen($value['name']) < 1) || (utf8_strlen($value['name']) > 255)) { exit('商品名称不符合规范,长度为1-255'); } if ((utf8_strlen($value['meta_title']) < 1) || (utf8_strlen($value['meta_title']) > 255)) { exit('Meta Tag 标题不符合规范,长度为1-255'); } } return true; } public function addProduct($data) { $this->db->query("INSERT INTO " . DB_PREFIX . "product SET model = '" . $this->db->escape((string)$data['model']) . "', sku = '" . $this->db->escape((string)$data['sku']) . "', upc = '" . $this->db->escape((string)$data['upc']) . "', ean = '" . $this->db->escape((string)$data['ean']) . "', jan = '" . $this->db->escape((string)$data['jan']) . "', isbn = '" . $this->db->escape((string)$data['isbn']) . "', mpn = '" . $this->db->escape((string)$data['mpn']) . "', location = '" . $this->db->escape((string)$data['location']) . "', quantity = '" . (int)$data['quantity'] . "', minimum = '" . (int)$data['minimum'] . "', subtract = '" . (int)$data['subtract'] . "', stock_status_id = '" . (int)$data['stock_status_id'] . "', date_available = '" . $this->db->escape((string)$data['date_available']) . "', manufacturer_id = '" . (int)$data['manufacturer_id'] . "', shipping = '" . (int)$data['shipping'] . "', price = '" . (float)$data['price'] . "', points = '" . (int)$data['points'] . "', weight = '" . (float)$data['weight'] . "', weight_class_id = '" . (int)$data['weight_class_id'] . "', length = '" . (float)$data['length'] . "', width = '" . (float)$data['width'] . "', height = '" . (float)$data['height'] . "', length_class_id = '" . (int)$data['length_class_id'] . "', status = '" . (int)$data['status'] . "', tax_class_id = '" . (int)$data['tax_class_id'] . "', sort_order = '" . (int)$data['sort_order'] . "', date_added = NOW(), date_modified = NOW()"); $product_id = $this->db->getLastId(); if (isset($data['image'])) { $this->db->query("UPDATE " . DB_PREFIX . "product SET image = '" . $this->db->escape((string)$data['image']) . "' WHERE product_id = '" . (int)$product_id . "'"); } foreach ($data['product_description'] as $language_id => $value) { $this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', description = '" . $this->db->escape($value['description']) . "', tag = '" . $this->db->escape($value['tag']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "'"); } if (isset($data['product_store'])) { foreach ($data['product_store'] as $store_id) { $this->db->query("INSERT INTO " . DB_PREFIX . "product_to_store SET product_id = '" . (int)$product_id . "', store_id = '" . (int)$store_id . "'"); } } if (isset($data['product_attribute'])) { foreach ($data['product_attribute'] as $product_attribute) { if ($product_attribute['attribute_id']) { // Removes duplicates $this->db->query("DELETE FROM " . DB_PREFIX . "product_attribute WHERE product_id = '" . (int)$product_id . "' AND attribute_id = '" . (int)$product_attribute['attribute_id'] . "'"); foreach ($product_attribute['product_attribute_description'] as $language_id => $product_attribute_description) { $this->db->query("DELETE FROM " . DB_PREFIX . "product_attribute WHERE product_id = '" . (int)$product_id . "' AND attribute_id = '" . (int)$product_attribute['attribute_id'] . "' AND language_id = '" . (int)$language_id . "'"); $this->db->query("INSERT INTO " . DB_PREFIX . "product_attribute SET product_id = '" . (int)$product_id . "', attribute_id = '" . (int)$product_attribute['attribute_id'] . "', language_id = '" . (int)$language_id . "', text = '" . $this->db->escape($product_attribute_description['text']) . "'"); } } } } if (isset($data['product_discount'])) { foreach ($data['product_discount'] as $product_discount) { $this->db->query("INSERT INTO " . DB_PREFIX . "product_discount SET product_id = '" . (int)$product_id . "', customer_group_id = '" . (int)$product_discount['customer_group_id'] . "', quantity = '" . (int)$product_discount['quantity'] . "', priority = '" . (int)$product_discount['priority'] . "', price = '" . (float)$product_discount['price'] . "', date_start = '" . $this->db->escape($product_discount['date_start']) . "', date_end = '" . $this->db->escape($product_discount['date_end']) . "'"); } } if (isset($data['product_special'])) { foreach ($data['product_special'] as $product_special) { $this->db->query("INSERT INTO " . DB_PREFIX . "product_special SET product_id = '" . (int)$product_id . "', customer_group_id = '" . (int)$product_special['customer_group_id'] . "', priority = '" . (int)$product_special['priority'] . "', price = '" . (float)$product_special['price'] . "', date_start = '" . $this->db->escape($product_special['date_start']) . "', date_end = '" . $this->db->escape($product_special['date_end']) . "'"); } } if (isset($data['product_image'])) { foreach ($data['product_image'] as $product_image) { $this->db->query("INSERT INTO " . DB_PREFIX . "product_image SET product_id = '" . (int)$product_id . "', image = '" . $this->db->escape($product_image['image']) . "', sort_order = '" . (int)$product_image['sort_order'] . "'"); } } if (isset($data['product_download'])) { foreach ($data['product_download'] as $download_id) { $this->db->query("INSERT INTO " . DB_PREFIX . "product_to_download SET product_id = '" . (int)$product_id . "', download_id = '" . (int)$download_id . "'"); } } if (isset($data['product_category'])) { foreach ($data['product_category'] as $category_id) { $this->db->query("INSERT INTO " . DB_PREFIX . "product_to_category SET product_id = '" . (int)$product_id . "', category_id = '" . (int)$category_id . "'"); } } if (isset($data['product_filter'])) { foreach ($data['product_filter'] as $filter_id) { $this->db->query("INSERT INTO " . DB_PREFIX . "product_filter SET product_id = '" . (int)$product_id . "', filter_id = '" . (int)$filter_id . "'"); } } if (isset($data['product_related'])) { foreach ($data['product_related'] as $related_id) { $this->db->query("DELETE FROM " . DB_PREFIX . "product_related WHERE product_id = '" . (int)$product_id . "' AND related_id = '" . (int)$related_id . "'"); $this->db->query("INSERT INTO " . DB_PREFIX . "product_related SET product_id = '" . (int)$product_id . "', related_id = '" . (int)$related_id . "'"); $this->db->query("DELETE FROM " . DB_PREFIX . "product_related WHERE product_id = '" . (int)$related_id . "' AND related_id = '" . (int)$product_id . "'"); $this->db->query("INSERT INTO " . DB_PREFIX . "product_related SET product_id = '" . (int)$related_id . "', related_id = '" . (int)$product_id . "'"); } } if (isset($data['product_reward'])) { foreach ($data['product_reward'] as $customer_group_id => $product_reward) { if ((int)$product_reward['points'] > 0) { $this->db->query("INSERT INTO " . DB_PREFIX . "product_reward SET product_id = '" . (int)$product_id . "', customer_group_id = '" . (int)$customer_group_id . "', points = '" . (int)$product_reward['points'] . "'"); } } } // SEO URL if (isset($data['product_seo_url'])) { foreach ($data['product_seo_url'] as $store_id => $language) { foreach ($language as $language_id => $keyword) { if (!empty($keyword)) { $this->db->query("INSERT INTO " . DB_PREFIX . "seo_url SET store_id = '" . (int)$store_id . "', language_id = '" . (int)$language_id . "', query = 'product_id=" . (int)$product_id . "', keyword = '" . $this->db->escape($keyword) . "'"); } } } } if (isset($data['product_layout'])) { foreach ($data['product_layout'] as $store_id => $layout_id) { $this->db->query("INSERT INTO " . DB_PREFIX . "product_to_layout SET product_id = '" . (int)$product_id . "', store_id = '" . (int)$store_id . "', layout_id = '" . (int)$layout_id . "'"); } } exit('发布成功,产品id:'.$product_id); } } function clean($data) { if (is_array($data)) { foreach ($data as $key => $value) { unset($data[$key]); $data[clean($key)] = clean($value); } } else { $data = htmlspecialchars($data, ENT_COMPAT, 'UTF-8'); } return $data; }
将文件放到opencart网站的admin目录下,详细教程下载文档查看。
本文地址:http://yaaibk.com/post/222.html
温馨提示:文章内容系作者个人观点,不代表雅爱博客对观点赞同或支持。
版权声明:本文为 转载 文章,来源于 点击这里 ,版权归原作者所有,欢迎分享本文,转载请保留出处!
温馨提示:文章内容系作者个人观点,不代表雅爱博客对观点赞同或支持。
版权声明:本文为 转载 文章,来源于 点击这里 ,版权归原作者所有,欢迎分享本文,转载请保留出处!