我正在学习JQuery并创建一个简单的HTML/JS计算器.我使用标准HTML表单允许用户输入他们想要计算的数据,当用户点击提交时,我的JS/JQuery计算并吐出答案.
我的问题是,处理HTML表单操作的语义正确方法是什么,我实际上不发布任何数据?我不想保留默认值,因为当我点击我触发事件时它会更改URL而我不想使用POST因为我没有发布任何内容.任何帮助表示赞赏!
我开始明白Magento Event Observers是如何工作的,并希望有人可以帮我弄清楚我需要寻找什么样的事件才能让我的潜在模块发挥作用.我有某些产品具有名为"child skus"的属性,该属性是我库存中其他产品的SKU编号数组.
例:
名称:完全令人敬畏的产品
SKU:TP-1212
儿童SKUS:GP-3232,FD-4332,VC-5332
每当有人购买TP-1212时,我也需要Magento从幕后的那些儿童skus中扣除该数量.有没有人知道是否有一个事件调度员在购买完成后会处理类似的事情?
我有一个循环遍历订单数组的脚本,内部循环遍历按特定顺序排列的所有项目.在脚本的末尾,我需要将一个字符串与所有项目数据连接起来,每个项目数据都有一个唯一的标识符.当我超过第一个订单时,我的问题就出现了.
我们假设这个循环将迭代3个订单.这是我的例子:
foreach ($_orders as $order)
{
$oid = $order['id'];
$i = 1;
foreach ($order['items'] as $item)
{
$cjItemStr .= '&ITEM'. $i . '=' . $item['sku'] . '&AMT' . $i . '=' . $item['price'] . '&QTY' . $i . '=' . $item['qty'];
$i++;
}
}
Run Code Online (Sandbox Code Playgroud)
这将正确输出我需要的1个订单.该字符串将显示为:
&ITEM1 = TT-5555&AMT1 = 5.00&QTY1 = 2&ITEM2 = TT-3333&AMT2 = 10.00&QTY2 = 1&ITEM3 = TT-2222&AMT3 = 15.00&QTY3 = 1
这适用于一个订单但是一旦我进入下一个订单,我需要增量器从另一个订单停止的地方继续.它需要转移到ITEM4,AMT4,QTY4,ITEM5,AMT5,QTY5等.现在它只是回到1.任何人都知道如何解决这个问题?
我在这里和谷歌上阅读了大量的帖子,出于某种原因,我仍然不太明白单例与 Magento 的关系。例如,我创建了一个观察者来侦听订单保存事件并执行一些自定义逻辑。根据我在另一个线程中收到的建议,我将我的班级设置为单例。我怎么知道这是正确的?除了单例之外,还有其他的可能吗?
<frontend>
<events>
<checkout_type_onepage_save_order_after>
<observers>
<reducesetinventory_save_order_observer>
<class>MyModule_ReduceSetInventory_Model_Observer</class>
<method>checkout_type_onepage_save_order_after</method>
<type>singleton</type>
</reducesetinventory_save_order_observer>
</observers>
</checkout_type_onepage_save_order_after>
</events>
</frontend>
<global>
<models>
<myname_reducesetinventory>
<class>MyName_ReduceSetInventory_Model_Observer</class>
</myname_reducesetinventory>
</models>
</global>
Run Code Online (Sandbox Code Playgroud)