gpt4 book ai didi

php - 覆盖 Magento GetPrice 函数

转载 作者:可可西里 更新时间:2023-10-31 22:10:27 25 4
gpt4 key购买 nike

我有一个自定义 SQL 数据库,我们在其中存储了每个客户每个产品和每个数量的不同价格。

现在我们想建立一个 Magento 网上商店,但发现我们无法真正将这些价格导入 Magento,因为它在数据结构方面不匹配。 (而且 Magento 可能会崩溃,因为我们会向它抛出大量数据。)

所以我在想;我可以将数据留在原处,在该数据之上设置服务,然后覆盖 Magento 中的某些 GetPrice() 方法以获得正确的价格吗? (这个正确的价格当然应该出现在每个可能显示价格的页面上。更重要的是,这个价格也应该用在购物篮和订单中。)

我的问题是 A:它会那样工作吗?只是覆盖一种方法,我们有自定义定价?还是我们必须改变更多的方法?

然后 B:我在哪里可以找到要覆盖的代码/方法?

(Magento 对我来说很新。确实花了半天时间浏览了大量的源代码,但我对整个应用程序还没有信心通过浏览代码来回答我自己的问题。)

最佳答案

我已经为几个客户做过这个。这是完全可行的。

首先,您应该尝试在同一台服务器上获取数据并实时获取结果。如果表的索引良好(例如在 product_id 上),加载时间是完全可以接受的。

我通常使用观察者方法,因为它比重写目录模型方法侵入性更小。

为此,创建一个模块并在 config.xml 中配置一个观察者:

</global>
<events>
<catalog_product_load_after>
<observers>
<productloadhandle>
<type>singleton</type>
<class>Yourcompany_Customprices_Model_Observer</class>
<method>getCustomPrice</method>
</productloadhandle>
</observers>
</catalog_product_load_after>
<catalog_product_get_final_price>
<observers>
<getfinalpricehandle>
<type>singleton</type>
<class>Yourcompany_Customprices_Model_Observer</class>
<method>getCustomPrice</method>
</getfinalpricehandle>
</observers>
</catalog_product_get_final_price>
</events>
</global>

然后创建将实现 getCustomPrice 方法的观察者模型。

class Yourcompany_Customprices_Model_Observer extends Mage_Core_Model_Abstract
{

public function getCustomPrice($observer)
{
// If not logged in just get outta here
if (! Mage::getSingleton('customer/session')->isLoggedIn()) {
return;
}

$event = $observer->getEvent();
if (Mage::getSingleton('customer/session')->isLoggedIn()) {
// THis is where you will want to have your price mechanism going on.
if (Mage::getSingleton('customer/session')->getCustomer()->getId() == $someIdFromCustomModuleTable && otherConditions) {
$product = $event->getProduct();
if ($product && null != $product->getSku()) {
// This is where you can tweak product price, using setPrice or setFinal
$product->setFinalPrice($customerPrice);
}
}
}
return $this;
}
}

我不会详细介绍该模块的其余部分,这些都是非常标准的,您可以在任何创建 magento 自定义模块教程中找到它们,但这应该可以帮助您入门。

关于php - 覆盖 Magento GetPrice 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32766111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com