Magento: 自动生成产品SKU Auto generated SKU when add product in magento
方法一:
Open /app/design/adminhtml/default/default/template/catalog/product/edit.phtml and add the following code to the bottom of the file:
<?php$dbread = Mage::getSingleton('core/resource')->getConnection('core_read');$sql = $dbread->query("SELECT * FROM catalog_product_entity ORDER BY created_at DESC LIMIT 1");$res = $sql->fetch();
?>
<script type="text/javascript">
if(document.getElementById('sku').value == ""){document.getElementById('sku').value = <?php echo (int)$res["sku"] + 1; ?>;
}
</script>
Note:Read the SKU (must be an integer) of the last added product.
Increment the SKU by 1.
Pre-populate the incremented new SKU to the SKU field by JavaScript.
方法二:
打开 app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php
line 743:
/*** Save product action*/
public function saveAction()
{$storeId = $this->getRequest()->getParam('store');$redirectBack = $this->getRequest()->getParam('back', false);$productId = $this->getRequest()->getParam('id'); $isEdit = (int)($this->getRequest()->getParam('id') != null);$data = $this->getRequest()->getPost();//===> 这里开始if(isset($data['category_ids']) AND $data['category_ids']) $category_ids = array_filter(array_unique(explode(',', $data['category_ids'])));if(!$category_ids) if($productId) $category_ids = array_filter(Mage::getModel('catalog/product')->load($productId)->getCategoryIds());$_categories = array();foreach ($category_ids as $category_id) {if($category_id){$_cat = Mage::getModel('catalog/category')->load($category_id);$_cat->getLevel()*1 == 2 ? $_categories[$_cat->getId()]['name'] = $_cat->getName() : $_categories[$_cat->getParentId()]['son'][$_cat->getId()] = $_cat->getName();}}$_first_category = current($_categories);if(!$_first_category) exit('<script>alert("Please Choose any Product Category !");history.back();</script>');if(!$productId OR ($productId AND !$data['product']['sku'])){$prefix = '';if(stripos('+'.$_first_category['name'], 'decals')) $prefix .= 'D-';if(isset($_first_category['son'])) $prefix .= strtoupper(substr($_first_category['name'], 0, 1).substr(current($_first_category['son']), 0, 1));else $prefix .= strtoupper(substr($_first_category['name'], 0, 2));$dbread = Mage::getSingleton('core/resource')->getConnection('core_read');$sql = $dbread->query("SELECT * FROM mgy2_catalog_product_entity WHERE `sku` LIKE '".$prefix."%' ORDER BY `entity_id` DESC LIMIT 1 ");$row = $sql->fetch();$next_sku_num = abs(substr($row['sku'], -4)*1)+1;$next_sku_len = strlen($next_sku_num)*1;$next_sku = $prefix.($next_sku_len < 4 ? str_repeat('0',(4-$next_sku_len)) : '').$next_sku_num;$_POST['product']['sku'] =& $next_sku;}//===> 这里结束 if ($data) {$this->_filterStockData($data['product']['stock_data']);$product = $this->_initProductSave();// echo '<pre>'; print_r($data); echo '</pre>'; die; try {$product->save();$productId = $product->getId();if (isset($data['copy_to_stores'])) {$this->_copyAttributesBetweenStores($data['copy_to_stores'], $product);}$this->_getSession()->addSuccess($this->__('The product has been saved.'));} catch (Mage_Core_Exception $e) {$this->_getSession()->addError($e->getMessage())->setProductData($data);$redirectBack = true;} catch (Exception $e) {Mage::logException($e);$this->_getSession()->addError($e->getMessage());$redirectBack = true;}}if ($redirectBack) {$this->_redirect('*/*/edit', array('id' => $productId,'_current'=>true));} elseif($this->getRequest()->getParam('popup')) {$this->_redirect('*/*/created', array('_current' => true,'id' => $productId,'edit' => $isEdit));} else {$this->_redirect('*/*/', array('store'=>$storeId));}
}
原理如下:
Wall decals
D-WA0001Car decal
Bumper - D-CB0001
Car - D-CC0001
Mirror D-CM0001MACBOOK DECALS
Macbook or Laptop - D-MM0001
Trackpad - D-MT0001iPad
IPad - D-IP0001
IPad mini - D-IM0001
原理自己计算吧
原文/转自:Magento: 自动生成产品SKU Auto generated SKU when add product in magento
Magento: 自动生成产品SKU Auto generated SKU when add product in magento相关推荐
- 2-2 SPU和SKU详解及MyBatisPlus自动生成
2-2 SPU和SKU详解 商城系统中的商品信息肯定避免不了SPU和SKU这两个概念,本节就给大家详细介绍下这块的内容 1.掌握SKU和SPU关系 SPU = Standard Product U ...
- 基于Element和vue实现的自动生成SKU表格(笛卡尔积)
基于Element和vue实现的自动生成SKU表格 商品的SKU表格自动生成 工具 ,使用Element的表格和vue实现: 算法 ,其中算法是看一位大佬的,但他没有具体实现,这里我直接造一个轮子吧, ...
- vue+elementUI实现sku表格自动生成【效果图+源码】
vue+elementUI实现sku表格自动生成[效果图+源码] 先看一看效果图: 点击这里下载源码,下载后记得安装依赖:npm install
- 使用Linux auto Makefile自动生成的运行步骤
首先创建一个 Linux Makefile.am.这一步是创建Linux Makefile很重要的一步,automake要用的脚本配置文件是Linux Makefile.am,用户需要自己创建相应的文 ...
- 根据时间戳生成编号_VLOOKUP函数制作产品报价单,能自动生成价格
今天,教大家用Excel来制作一份报价单,通过输入产品编号,自动生成价格. 输入对应的产品编号,就能够自动生成价格和日期,录入数量后能生成金额. 准备工作 Sheet1中是报价单表格,大家可以根据自己 ...
- html自动生成价格,Excel技巧:用VLOOKUP函数制作产品报价单,自动生成价格!
今天,教大家给大家分享一个用VLOOKUP函数制作产品报价单,自动生成价格的小技巧,输入对应的产品编号,就能够自动生成价格和日期,录入数量后能生成金额. 1.准备工作 Sheet1中是报价单表格,大家 ...
- 选择产品套餐自动生成报价小程序开发制作
选择产品套餐自动生成报价小程序开发制作 按照客户需求选择广告服务套餐自动生成报价小程序开发制作具体的功能: 1.选择套餐后,显示固定内容供选择: 2.产品的选择上有金额限制和部分服务多选少的限制,需要 ...
- 2021-12-30 解决Android启用了DataBinding 不会自动生成相对应的Binding Data Binding class not generated
Data Binding class 不会自动生成,原因是因为layout里面没有设置Layout 标签 修改前: <?xml version="1.0" encoding= ...
- Shopify如何在产品页面上显示SKU
SKU(库存单位)是数字,通常是字母数字,用于帮助识别产品和跟踪库存.如果商店使用SKU,则会为每个单独的产品变型分配一个唯一的编号.您可以通过编辑主题代码在产品页面上显示变体的SKU编号. 在添加任 ...
最新文章
- 49 岁的红杉资本遭遇黑客攻击
- 计算机网络体系结构作业题整理-第十章答案
- 【GISER Painter】矢量切片(Vector tile)
- 不知所措:您是否真的需要为您的API提供客户端库?
- java 内置函数_java8 四大内置核心函数式接口
- HDU1233——还是通常工程(最小生成树,并查集)
- EasyRecovery易恢复文件数据恢复软件详解介绍安装
- iOS APP之间到跳转,以及热门应用,手机自带到应用跳转
- tensorflowpython32_Python tensorflow.python.framework.dtypes 模块,float32() 实例源码 - 编程字典...
- 毕业5年决定人的一生(必看,大家有空一定要看看)
- 汇编实验二——选出非负数以及排序
- 武汉大学计算机转专业2021,通知|关于做好2021年普通本科生转专业工作的通知...
- 物理环路造成网络风暴,无法访问交换机故障处理过程
- ARM中的RO段、RW段和ZI段的区别
- springboot集成flowable创建请假流程实例
- python中累加函数_对Python实现累加函数的方法详解
- 贝叶斯调参——bayes_opt
- 搜狗微博搜索悄悄上线 实时搜索还是人肉搜索
- 理性拥抱机器学习热潮:ML祖师爷Tom Mitchell最新洞见
- 室内监控摄像机能做什么?安装在室内有哪些好处?