将Magento与简单的静态网站集成

时间:2009-10-23 14:56:03

标签: magento e-commerce shopping-cart oscommerce

Magento是一个非常强大的电子商务平台。也就是说,它也非常复杂,我想知道是否有一种相对简单的方法可以利用Magento作为我们的mISV网站的后端来完成订单,而无需实际“使用”Magento的框架来构建网站,运行网站,换句话说,我不想使用内置的CMS等,因为我们已经建立了一个静态网站。我只是喜欢我们的立即购买按钮来使用结账的东西,并希望能够使用后端部分来跟踪订单等。我能够通过osCommerce“公平”地完成这个,但是Magento事实证明,因为我现在才开始关注这几天,所以我更加难以理解。

我发现另一个人在Magento wiki上提出同样的问题(以及论坛中的几个其他人),并且由于某些原因他们都没有收到回复。我注意到Stack Overflow上可能有Magento的专家,所以我想我会在这里试一试。这是一个人在他们的wiki上提出的一个问题的例子,它捕捉到了我想要完成的事情的本质:

  

嗨,据我所知,全部   购物车/电子商务解决方案我   看到功能齐全的PHP驱动网络   站点。这意味着所有页面   用户与之交互,是服务器   生成,因此,经验,   与magento联系在一起   框架/工作流程。我想   整合点点滴滴   我现有的电子商务/购物车   网站。实际上,我想   有:

     

1)在产品信息页面上,a   “立即购买/添加到购物车”按钮添加   购物车

     

2)在每个页面上,查看购物车/结帐   选项

     

3)在结帐页面上,附加   内容已经到位,有   magento“checkout”块集成在   页面(而不是整个页面生成   来自Magento)。

有没有人用Magento做过这件事?这是一个简单的单一产品网站,因此您可以分享的任何建议都将受到高度赞赏。

2 个答案:

答案 0 :(得分:5)

我们使用带有Magento后端的静态前端(www.movi​​ngpicturebooks.com)。这是相当直截了当的。最大的挑战是您需要将前端硬编码为特定的产品ID。如果您正在运行单独的开发和生产环境,那么保持它们同步可能是一个真正的婊子。但这是另一个主题。以下是您需要的部分:

1)添加到购物车按钮 - 使用以下链接格式:

/结帐/购物车/添加/产物= $ PRODUCTID&安培;数量= $ QUANTITY

2)购物车链接:/ checkout / cart /

3)结帐链接:/ checkout / onepage /

4)我的帐户关联:/ customer / account /

5)登录/退出:您需要在每个页面上都有一小段PHP代码才能访问Magento会话,然后根据它所处的位置,呈现相应的链接。例如:

<?php

$include_file = $_SERVER['DOCUMENT_ROOT'] . '/app/Mage.php';
require_once ($include_file);
Mage::app("default");
Mage::getSingleton("core/session", array("name" => "frontend"));

if (empty($session)) {
        $session = Mage::getSingleton("customer/session");
}

if($session->isLoggedIn()) {
    $login_action = "Sign Out";
    $login_url = "/index.php/customer/account/logout/";
} else {
    $login_action = "Sign In";
    $login_url = "/index.php/customer/account/login/";
}

?>

6)剥皮:您提到想要在设计模板中嵌入Magento购物车的东西。这不仅仅是你需要担心的购物车 - 它是我的帐户,登录,忘记密码,各种各样的东西。这是Magento的一个区域,记录了一半。做一点研究,你应该能够摇滚它。

答案 1 :(得分:2)

  

1)在产品信息页面上,a   “立即购买/添加到购物车”按钮添加   购物车

也许this问题可以帮助您(查看问题,而不是答案:-)),因为它显示了如何通过链接到特定的URL将项目添加到购物车,这样就可以做到这一点这来自Magento外面。

  

2)在每个页面上,查看购物车/结帐   选项

您是否想要实际显示购物车中的商品或只是链接到购物车/结帐?后者显然是微不足道的。

  

3)在结帐页面上,附加   内容已经到位,有   magento“checkout”块集成在   页面(而不是整个页面   从Magento产生。)

我认为这应该是可能的,但需要你去研究Magento的内部。要做到这一点,你必须

  • 将Magento的JS和CSS文件包含在您的网站中

  • 伪造Magento中的结账请求(通过模仿Magento的引导程序并将您自己的Mage_Core_Controller_Request_Http实例注入您的虚假URL结帐)

  • 捕获虚假请求的输出(如果您无法弄明白,那么应该可以通过ZF获取,您仍然可以使用ob_start等)

  • 在您自己的网站上打印出html代码

如果您有使用Zend Framework的经验,这对您来说应该不会太难。

至于剩下的,你不必做太多,因为(onepage)结账是基于AJAX调用,可能不会干扰你的实际网站。

我不能告诉你这是否像osCommerce一样简单(没有使用它),但我非常肯定它应该可行。