我想在magento中导入优惠券代码csv 。
我有一个csv,但不知道如何导入它。我搜索了它,但没有得到任何适当的解决方案。
请建议我如何在magento中导入优惠券代码csv
答案 0 :(得分:1)
您可以在link
之后参考在根文件夹下复制此代码后,在浏览器中运行此文件。希望,它应该对你有所帮助。
答案 1 :(得分:0)
虽然这个帖子有点旧,但上面的答案也可以通过这个来源解决。这里使用固定百分比导入CSV。 CSV也是一个例子。希望这有帮助!
http://www.livesyncshop.com/tutorials/how-to-import-multiple-coupons-in-magento-from-a-csv/
is_active,coupon_code,description,discount_amount
1,1c5e8b24,serie1 coupon,20
1,593d90a1,serie1 coupon,20
现在将此代码粘贴到php文件中
<?php
// Import coupon codes
// Thanks go out to Marius Strajeru
// Original URL: http://marius-strajeru.blogspot.nl/2010/04/create-bulk-discount-rules.html
// modified to use fixed percentage and one time use
require 'app/Mage.php';
Mage::app();
// Import CSV from ViArt format:
$handle = fopen('all_coupons1.csv', 'r');
$cols = array_flip(fgetcsv($handle));
while($data = fgetcsv($handle))
{
if($data[$cols['is_active']] == 1)
{
echo 'Importing coupon with code: '.$data[$cols['coupon_code']].'<br />';
createCoupon(
$data[$cols['coupon_code']],
$data[$cols['description']],
'by_fixed',
$data[$cols['discount_amount']]
);
} else {
echo 'Not imported (not active): '.$data[$cols['coupon_code']].'<br />';
}
}
/**
* Import coupon
* @param $code String Coupon code
* @param $description String Description
* @param $type String by_percent, by_fixed, cart_fixed, buy_x_get_y (not implemented)
* @param $amount int The amount
* @param array $options Optional options (from, to)
*/
function createCoupon($code, $description, $type, $amount, $options = array())
{
// Create coupon:
/* @var $rule Mage_SalesRule_Model_Rule */
$rule = Mage::getModel('salesrule/rule');
// set name can be code coupon by using ($code)
$rule->setName('20procent');
$rule->setCouponCode($code);
$rule->setDescription($description);
// Default options:
if(!isset($options['from'])) { $options['from'] = date('Y-m-d'); }
$rule->setFromDate($options['from']); // From date
// To date:
if(isset($options['to'])) {
$rule->setToDate($options['to']);//if you need an expiration date
}
$rule->setUsesPerCoupon(1);//number of allowed uses for this coupon
$rule->setUsesPerCustomer(1);//number of allowed uses for this coupon for each customer
$rule->setCustomerGroupIds(getAllCustomerGroups());//if you want only certain groups replace getAllCustomerGroups() with an array of desired ids
$rule->setIsActive(1);
$rule->setStopRulesProcessing(0);//set to 1 if you want all other rules after this to not be processed
$rule->setIsRss(0);//set to 1 if you want this rule to be public in rss
$rule->setIsAdvanced(1);//have no idea what it means :)
$rule->setProductIds('');
$rule->setSortOrder(0);// order in which the rules will be applied
$rule->setSimpleAction('by_percent');
$rule->setDiscountAmount($amount);//the discount amount/percent. if SimpleAction is by_percent this value must be <= 100
$rule->setDiscountQty(0);//Maximum Qty Discount is Applied to
$rule->setDiscountStep(0);//used for buy_x_get_y; This is X
$rule->setSimpleFreeShipping(0);//set to 1 for Free shipping
$rule->setApplyToShipping(1);//set to 0 if you don't want the rule to be applied to shipping
$rule->setWebsiteIds(getAllWbsites());//if you want only certain websites replace getAllWbsites() with an array of desired ids
$labels = array();
$labels[0] = $description;
$rule->setStoreLabels($labels);
$rule->setCouponType(2);
$rule->save();
}
/**
* Get all customer groups
* @return array
*/
function getAllCustomerGroups(){
//get all customer groups
$customerGroups = Mage::getModel('customer/group')->getCollection();
$groups = array();
foreach ($customerGroups as $group){
$groups[] = $group->getId();
}
return $groups;
}
/**
* Get all websites
* @return array
*/
function getAllWbsites(){
//get all wabsites
$websites = Mage::getModel('core/website')->getCollection();
$websiteIds = array();
foreach ($websites as $website){
$websiteIds[] = $website->getId();
}
return $websiteIds;
}
答案 2 :(得分:0)
在Magento管理员中转到系统 - &gt;导入/导出 - &gt;数据流高级配置文件 单击“添加新配置文件”按钮 填充“配置文件名称”和“操作XML”文本字段: 配置文件名称 - 写下您想要的名称 Action XML - 粘贴此模板:
<action type="dataflow/convert_adapter_io" method="load">
<var name="type">file</var>
<var name="path">var/import</var>
<var name="filename"><![CDATA[coupons_test.csv]]></var>
<var name="format"><![CDATA[csv]]></var>
</action>
<action type="dataflow/convert_parser_csv" method="parse">
<var name="delimiter"><![CDATA[,]]></var>
<var name="enclose"><![CDATA["]]></var>
<var name="fieldnames">true</var>
<var name="store"><![CDATA[0]]></var>
<var name="number_of_records">100</var>
<var name="decimal_separator"><![CDATA[.]]></var>
<var name="adapter">Extendix_CouponImport_Model_SimpleImport</var>
<var name="method">parse</var>
</action>
&#13;
for mor详情请点击此链接
答案 3 :(得分:0)
我之前在Magento 2中仅使用admin和MySQL进行了此操作。 您需要访问admin和数据库,并需要使用正则表达式查找和替换文本编辑器(例如Notepad ++) 这个过程与Magento 1类似。
SELECT * FROM salesrule_coupon WHERE CODE = '[replace with generated code]'
1999
)和created_at datetime。方便的Notepad ++正则表达式:
优惠券数据示例:
1111111111
2222222222
3333333333
查找
(.*)
替换(在Notepad ++中,您需要使用反斜杠-来使括号转义)
INSERT INTO `salesrule_coupon` \(`rule_id`, `code`, `usage_limit`, `usage_per_customer`, `times_used`, `expiration_date`, `is_primary`, `created_at`, `type`, `generated_by_dotmailer`\) VALUES \(1999, '$1', 1, 0, 0, NULL, NULL, '2019-09-06 05:08:48', 1, NULL\);
然后针对数据库运行该规则,并在管理屏幕中刷新规则-您的新优惠券将在那里。