Php Magento多商店网站中共享购物车中的产品URL

Php Magento多商店网站中共享购物车中的产品URL,php,magento,shopping-cart,magento-1.9,Php,Magento,Shopping Cart,Magento 1.9,我有Magento多商店网站,我希望用户能够添加产品到他的购物车从所有网站和支付一次 我成功地完成了它使用 但是当用户点击购物车中的产品时,他不会被重定向到正确的网站。这是本文最后描述的一个限制 用于编辑购物车中项目的链接将把客户重定向到 原始购物车网站。可以对其进行更改,您可以覆盖 购物车项目块或覆盖控制器的getUrl方法 我找不到任何关于如何进行这种覆盖的解释 有人能帮我吗 谢谢在我的例子中,我看到了购物车的item.phtml文件,它使用的是getproducturl()。 因此,我在f

我有Magento多商店网站,我希望用户能够添加产品到他的购物车从所有网站和支付一次

我成功地完成了它使用

但是当用户点击购物车中的产品时,他不会被重定向到正确的网站。这是本文最后描述的一个限制

用于编辑购物车中项目的链接将把客户重定向到 原始购物车网站。可以对其进行更改,您可以覆盖 购物车项目块或覆盖控制器的getUrl方法

我找不到任何关于如何进行这种覆盖的解释

有人能帮我吗


谢谢

在我的例子中,我看到了购物车的item.phtml文件,它使用的是getproducturl()。 因此,我在file/app/code/core/Mage/Checkout/Block/Cart/Item/Renderer.php第152行中修改了该方法。 我提出了一个条件,若它的主网站并没有改变,否则它会在url中添加存储代码,比如www.example/store1/Producturl

我希望这对你有帮助

根据您的需要,使用File方法。检查下面的代码

    public function getProductUrl()
        {
            if (!is_null($this->_productUrl)) {
                return $this->_productUrl;
            }
            if ($this->getItem()->getRedirectUrl()) {
                return $this->getItem()->getRedirectUrl();
            }

            $product = $this->getProduct();
            $option  = $this->getItem()->getOptionByCode('product_type');
            if ($option) {
                $product = $option->getProduct();
            }
            $webids = $product->getWebsiteIds();
            $wid = array();
            foreach($webids as $webid){
                $wid[] = $webid;
            }
            if(!in_array(1,$wid)){
                $website = Mage::app()->getWebsite($wid[0])->getCode();
                $org_url = $product->getUrlModel()->getUrl($product);
                $mod_url = str_replace("www.example.com/index.php/","www.example.com/".$website."/index.php/",$org_url);
                return $mod_url;
            }
            return $product->getUrlModel()->getUrl($product);
        }

因为我的第一个网站id是“1”,所以我使用了_数组(1.$wid)。你可以在那里使用你的主网站id。在str_replace中,你可以使用主网站的baseurl()方法,而不是我使用的静态值。

Hii Nir,我也有同样的问题。你找到解决办法了吗。如果是,请帮助我。我真的有麻烦了。不。。。仍然在寻找解决方案…您好,请查看答案。您好,谢谢您的回答。你能发布你修改过的文件吗?嗨,请发表评论,这对你是否有帮助。不需要使用字符串替换。一旦确定了要为其生成URL的存储id,只需将其作为参数传递给getUrl()调用。返回$product->getUrlModel()->getUrl($product,array(''U store'=>$realStoreId));