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

8 shopping-cart magento oscommerce e-commerce

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

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

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

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

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

3)在结账页面上,已经有其他内容,在页面中集成了magento"checkout"块(而不是从Magento生成的整个页面).

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

小智 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/";
}

?>
Run Code Online (Sandbox Code Playgroud)

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


And*_*ann 2

\n

1) 在产品信息页面上,\n \xe2\x80\x9c立即购买/添加到购物车\xe2\x80\x9d 按钮可将\n 添加到购物车

\n
\n\n

也许这个问题会对您有所帮助(看问题,而不是答案:-)),因为它展示了如何通过链接到某个 URL 将项目添加到购物车,这使得可以从 Magento 外部执行此操作。

\n\n
\n

2) 每个页面上都有一个查看购物车/结帐\n选项

\n
\n\n

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

\n\n
\n

3) 在结账页面上,附加内容已就位,将 magento \xe2\x80\x9ccheckout\xe2\x80\x9d 块集成到页面中(而不是从生成的整个页面\n马根托)。

\n
\n\n

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

\n\n
    \n
  • 将 Magento 的 JS 和 CSS 文件包含到您的网站中

  • \n
  • 在 Magento 中伪造一个结帐请求(通过模仿 Magento 的引导程序并Mage_Core_Controller_Request_Http使用您的结帐伪造 URL 注入您自己的实例)

  • \n
  • 捕获假请求的输出(如果你无法弄清楚你仍然可以使用 ob_start 等,这应该可以通过 ZF 实现)

  • \n
  • 打印出你自己站点中的html代码

  • \n
\n\n

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

\n\n

至于其余部分,您实际上不必做太多事情,因为(一页)结帐基于 AJAX 调用,这可能不会干扰您的实际站点。

\n\n

我无法告诉你这是否会像 osCommerce 一样简单(还没有使用过),但我非常肯定它应该是可行的。

\n