在Magento,我正在开发一个佣金模块,我需要在销售完成时支付我的代理,而不是在下订单时.
理想情况下,我希望在订单状态变为"完成"时捕获它,但我还没有找到观察者这样做?
我可以将这个添加到货运观察员,但订单可以有多个货物,因此不对.
或者,我总是可以解雇一个cron作业来计算最后一小时的顺序,但似乎也不是正确的方法.
关于什么是正确的方法的任何建议.
我写了很多脚本来根据一些或其他参数更新我的产品目录.在每个基础逻辑中都有类似的东西......
//Get collection
$collection = Mage::getModel('catalog/product')->getCollection();
$collection->addAttributeToSelect('sku');
$collection->addAttributeToSelect('publihser');
$collection->addFieldToFilter(array(array('attribute'=>'publisher','eq'=>$publisher)));
// for each product in collection do a individual save
foreach ($collection as $product) {
$product->setSKU($newValue);
$product->save();
}
Run Code Online (Sandbox Code Playgroud)
虽然这项工作,每个保存是一个SQL更新查询,事实是有一个非常大的目录,这是相当慢.
我想知道是否可以通过单独保存集合而不是产品来加速这一点.
我们有混合的产品,有些带有specialPrice,有些带有Catalog Rules.
我需要在我的前端显示所有产品的折扣%.
我们使用$ _product-> getSpecialPrice()来获得折扣价,但对于基于目录规则的价格的产品,这会失败.
是否可以根据目录规则或specialPrice获得折扣价?
我是Mercurial的新手,主要从事Clearcase的工作.
在我从最新分支机构获取更改之前,我想知道存在的更改以及哪些文件存在冲突.(主要是看我现在或以后是否应该更新.)
有没有办法在工作副本和另一个副本之间进行hg差异?
我正在尝试添加一个网格,我需要在其中进行左连接.
protected function _prepareCollection()
{
$collection = Mage::getResourceModel('admin/user_collection')->join("school/school",'ref_id = referer_id',"school_name",**"left"**);
var_dump((string)$collection->getSelect());
$this->setCollection($collection);
return parent::_prepareCollection();
}
Run Code Online (Sandbox Code Playgroud)
即使我在看到转储时已经定义了"left",它显示:
SELECT main_table
.*, school/school
. school_name
FROM admin_user
AS main_table
INNER JOIN school
AS school/school
ON REF_ID = referer_id
我试图做一个
$collection = Mage::getResourceModel('admin/user_collection')->**joinLeft**("school/school",'ref_id = referer_id',"school_name","left");
但我的系统没有向我显示任何var_dump挂起.