8

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

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

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

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

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

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

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

4

2 回答 2

5

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

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

/checkout/cart/add/?product=$PRODUCTID&qty=$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 中记录到一半的一个领域。做一些研究,你应该能够摇滚它。

于 2009-11-10T21:50:26.063 回答
2

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

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

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

您是想实际显示购物车中的商品,还是只是有一个指向购物车/结账的链接?后者显然是微不足道的。

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

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

  • 将 Magento 的 JS 和 CSS 文件包含到您的站点中

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

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

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

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

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

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

于 2009-10-23T15:14:31.913 回答