【问题标题】:Adding new column to ordered products in osCommerce在 osCommerce 中为订购的产品添加新列
【发布时间】:2013-10-23 02:18:46
【问题描述】:

我有一家使用 osCommerce 和 Dynamo 单页结账插件的商店。我在 orders_products 表和 products 表中添加了一个名为“drop_ship_id”的新列。在 checkout_process.php 文件下,我相信用户订购的产品被输入到数据库中的 orders_products 表中。我正在尝试从每个订购的产品中提取 drop_ship_id 字段,并将其输入到 orders_products 表中,以便稍后在结帐过程中调用它。这是我当前的代码片段:

// initialized for the email confirmation
$products_ordered = '';
$subtotal = 0;
$total_tax = 0;

for ($i=0; $i<sizeof($order->products); $i++) {
  if (!in_array($payment, $suspended_payment)) {
    $checkout->reduce_stock($order->products[$i]);
}

$sql_data_array = array('orders_id' => $insert_id,
                        'products_id' => tep_get_prid($order->products[$i]['id']),
                        'products_model' => $order->products[$i]['model'],
                        'products_name' => $order->products[$i]['name'],
                        'products_price' => $order->products[$i]['price'],
                        'final_price' => $order->products[$i]['final_price'],
                        'products_tax' => $order->products[$i]['tax'],
                        'products_quantity' => $order->products[$i]['qty'],
            'drop_ship_id' => $order->products[$i]['drop_ship_id']);

tep_db_perform($database['ORDERS_PRODUCTS'], $sql_data_array);

$order_products_id = tep_db_insert_id();

不确定这是否属于它,但我无法让它使用此代码传输 drop_ship_id 字段。有谁知道让它工作的好方法?

【问题讨论】:

  • 在循环中添加print_r($order-&gt;products[$i]);以检查数据是否在这里
  • 唯一的问题是我无法看到打印的内容,因为该文件仅用于处理加载栏中的所有内容
  • 然后添加 die(); 并使用浏览器的开发者工具 - 你会看到输出,我们使用日志记录到文件

标签: php mysql sql checkout oscommerce


【解决方案1】:

您可以使用错误日志尝试将一些信息转储到日志中:

error_log("product id: " . $order->products[$i]['products_id'] . ", dropship order id: " . $order->products[$i]['drop_ship_id']);

至于价值没有被转移的原因,我会检查includes/classes/order.php 中的一些东西——当创建一个新订单时,它会从购物车的产品列表中复制价值。所以你应该确保:

  1. 购物车中的产品包含此字段(即,当从数据库中检索产品并放入购物车时,此字段应为 SQL 中的选择值之一)。

  2. 之后您可以通过在 order.php 中显式写入值来添加该字段。

稍后,当从数据库加载已保存的订单时,您应该确保将drop_ship_id 添加到您的 SQL 查询中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-27
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    • 2011-07-18
    • 1970-01-01
    • 2015-08-14
    • 1970-01-01
    相关资源
    最近更新 更多