【问题标题】:CS-Cart promotionsCS-Cart 促销
【发布时间】:2014-04-15 13:56:35
【问题描述】:

我们的网站有大量购物车数量和优惠券代码折扣。我们不能每次都通过 CS-Cart 后端“促销”选项卡添加这些折扣。因此,我们在 PHP 中创建了一个导入脚本,该脚本导入数据库表“_promotions AND _promotion_descriptions”中的记录。我们的 PHP 导入脚本完美地将记录插入数据库表中,没有任何问题,我们可以在后端“促销”列表页面上看到这些记录。请参阅随附的屏幕截图。

但是,当我们从前端将商品添加到购物车中时,CS-Cart 不会在我们的网站上应用数量或优惠券代码折扣。

我们的问题是:CS-Cart 是否在任何其他表(包括“_promotions 和 _promotion_descriptions”表)中为促销添加任何引用,或者在从后面添加促销后在“缓存”中创建新促销的引用-结尾?

看起来确实如此,因为当我们从后端“促销”标签添加新的数量或优惠券代码折扣时,这些促销活动可以完美运行,没有任何问题。但是,当我们通过 PHP 导入脚本在数据库表中手动添加记录时,数量和优惠券代码折扣不起作用。

任何人都可以帮助我们解决这个问题,因为我们找不到任何有关 CS-Cart 促销数据库表的在线帮助。

谢谢。

【问题讨论】:

    标签: cs-cart promotions


    【解决方案1】:

    CS-Cart 仅将这两个表用于促销数据:

    cscart_promotions

    cscart_promotions_descriptions

    因此,我建议您检查数据库中的数据以了解您使用脚本创建的促销活动。 如果我是你,我会创建两个类似的促销活动,一个使用 CS-Cart 后端界面,另一个使用脚本。然后使用函数 fn_print_r 打印每个促销的结果数据并进行比较。

    只要在app/controllers/backend/promotions.php中获取促销数据的函数后面加上debug,应该是这样的:

    $promotion_data = fn_get_promotion_data($_REQUEST['promotion_id']);
    fn_print_r($promotion_data);
    

    【讨论】:

    • 感谢您的建议。但是,老实说,我做到了,但没有运气。在下面阅读我的答案。
    【解决方案2】:

    此外,我们还做了一件简单的事情,您可以在自己的 CS-Cart DB 上做。我们从后端添加了一个促销,它在促销表中插入了记录(如下所示):

    cscart_promotions表格数据

    promotion_id - 自动增量

    company_id(值 - “1”)

    条件(值 - "a:3:{s:3:"set";s:3:"all";s:9:"set_value";s:1:"1";s:10:"条件";a:2:{i:1;a:3:{s:8:"操作员";s:3:"gte";s:9:"条件";s:15:"products_number";s :5:"值";s:3:"500";}i:2;a:3:{s:8:"算子";s:3:"lte";s:9:"条件";s :15:"products_number";s:5:"value";s:3:"999";}}}")

    奖金(价值 - "a:1:{i:1;a:3:{s:5:"bonus";s:14:"order_discount";s:14:"discount_bonus";s:13: "by_percentage";s:14:"discount_value";s:2:"15";}}")

    to_date(值 - “0”)

    from_date(值 - “0”)

    优先级(值 - “0”)

    停止(值 - “N”)

    区域(值 - “购物车”)

    conditions_hash(值 - “products_number=500;products_number=999”)

    状态(值 - “A”)

    number_of_usages(值 - “0”)

    users_conditions_hash(设置为空白)

    cscart_promotion_descriptions表格数据

    promotion_id(与 cscart_promotions.promotion_id 相同)

    名称(值 - “批量折扣(500 项)”)

    short_description(设置为空白)

    detailed_description(设置为空白)

    lang_code(值 - “en”)

    当我们从后端添加上述记录并尝试在前端诚实地使用该促销时,它起作用了。展望未来,我们只是从后端删除了该促销活动,并且厌倦了在促销数据库表中手动添加该促销活动。它被完美地添加并在后端完美地向我们展示了条件和奖励标签数据。请参阅随附的屏幕截图。但是,当我们在前端使用手动添加的促销时,它就不起作用了。

    这是有线相同的记录,没有任何变化在后端完美显示,但为什么不能在前端工作。有什么建议吗?

    谢谢。

    【讨论】:

    • 我们已经找到了解决方案。在“_promotions”数据库表中添加记录后。我们在数据库表“cscart_ult_objects_sharing”中添加了参考记录,并且促销在前端为我们工作。
    【解决方案3】:

    桌子旁边

    cscart_promotions
    cscart_promotions_descriptions
    

    也需要插入到表中:

    cscart_ult_objects_sharing
    

    数据

    share_company_id = $company_id
    share_object_id = $promotion_id
    share_object_type = "promotions"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-23
      • 2014-08-31
      • 2015-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多