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

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

嗨,据我了解,我看到的所有购物车/电子商务解决方案都是全面的PHP驱动网站。这意味着用户与服务器生成的所有页面都与服务器框架/工作流相关联。我想在现有网站中将零碎的电子商务/购物车集成。有效地,我想拥有:

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

2)在每个页面上,视图推车/结帐选项

3)在结帐页面上,已经有其他内容,在页面中集成了Magento“ Checkout”块(而不是Magento生成的整个页面)。

你们有人用 Magento 做过这个吗?这是一个简单的单一产品网站,因此您可以分享的任何建议将不胜感激。

有帮助吗?

解决方案

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

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

2)在每个页面上,视图推车/结帐选项

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

3)在结帐页面上,已经有其他内容,在页面中集成了Magento“结帐”块(而不是Magento生成的整个页面)。

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

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

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

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

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

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

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

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

其他提示

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

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

/checkout/cart/add/?product=$ProductID&qty=$QUANTITY

2) 购物车链接: :/结账/购物车/

3) 结账链接: :/结帐/一页/

4) 我的帐户链接: :/客户账户/

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 中已完成一半记录的一个区域。做一点研究,你应该能够驾驭它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top