VirtueMart自定义字段(SKU)

时间:2013-10-05 19:47:46

标签: mysql joomla session-variables virtuemart

我是一个非常新手的程序员,但这是我想要做的,以及到目前为止我所做的:

我想要的是什么:

我正在尝试购买购物车中的最终SKU,这是根据产品的变体选择而制作的。

例如,如果初始产品是“Shovel”,并且它的SKU是“SHO”,则购物车变体选择SKU编号会添加到最后。

如果其中一个变体是:

处理颜色 - 绿色手柄(SKU1的SKU) - 黄色手柄(SKU2的SKU)

如果选择绿色,最终的SKU将为SHO - SKU1,如果选择黄色则为SHO - SKU2)

这将创建一个会话变量以传递到购物车,购物车将显示此变量,我可以将其传递给电子邮件通知,或我需要的任何内容。

我做了什么:

我已将表custom_sku添加到表virtuemart_product_customfields中的购物车变体数据中。我还将此字段添加到管理员表文件夹(/ administrator / components / com_virtuemart / tables)中的customs.php文件中

此字段现在更新到数据库中,每次添加购物车变体选项时,它都会为customfield_id的行添加一个SKU到“custom_sku”列:

屏幕截图:http://awesomescreenshot.com/02e1sfsef9

我还修改了customfields.php(administrator / components / com_virtuemart / models)中的函数getProductCustomsFieldCart,将其添加到选项下拉值中。

现在值如下:“变体值 - $ 1.00 - SKU1”

我坚持的意思是: 我需要将此SKU值或选项的值传递给购物车,然后将其用于订单的剩余部分。

这很可能是通过一个会话变量来完成的,它看起来像:sessionSKUselect =“20”,其中20是自定义字段ID,所以我可以在购物车的查询中使用它。

这也可以在数组中的会话变量中输出,只要它有效。

目前通过表单传递的变量如下所示:“customPrice [0] [1]”(数字与哪个选择列表及其变体组(选择列表)相关)

customPrice [0] [1]有一个customfield ID的值(只是一个数字,对于数据库值。我需要这个值是一个数组,或者能够在购物车中使用这个数组来查询最终的SKU号码。

有谁知道我需要做什么?谢谢!

1 个答案:

答案 0 :(得分:0)

我知道如何使用购物车款式。每个都可以分配一个价格。我也做了它,因此每个变体选项也可以分配一个自定义SKU(项目编号),并且变量在同一个数据库表中。

我已经找到了如何使用calculateModificators函数

来提取变量

我几乎需要在购物车页面上选择的选项值,此功能使它们可用。我已将自己的小代码添加到上面的函数中,现在我可以输出SKU但需要在数组中显示它。

以下是代码,我已经注意到我的添加内容正在使用注释。

    $query = 'SELECT  C.* , field.*
                    FROM `#__virtuemart_customs` AS C
                    LEFT JOIN `#__virtuemart_product_customfields` AS field ON C.`virtuemart_custom_id` = field.`virtuemart_custom_id`
                    WHERE field.`virtuemart_customfield_id`=' . $selected;
                $this->_db->setQuery($query);
                $productCustomsPrice = $this->_db->loadObject();
                $productCustomsSKU = $this->_db->loadObject(); // My Addition
                echo $productCustomsSKU->custom_sku. ' + '; // My Addition

因此,如果我的两个SKU编号是这个,按所选选项(SKU3,SKU1)的顺序

我得到像SKU3SKU1

这样的输出

现在我需要让这个值最终看起来像这样:

  • SKU3 + SKU1

这需要在字符串的开头有一个+,而在结尾没有+。我最终需要这个值,所以我的价值将是:

$ value =“+ SKU3 + SKU1”并对来自上述数组的每个值执行此操作。