Интеграция Magento с простым статическим веб-сайтом

Magento — невероятно мощная платформа для электронной коммерции. Тем не менее, это также очень сложно, и я хотел бы знать, есть ли относительно простой способ использовать Magento в качестве серверной части нашего сайта mISV для выполнения заказов без фактического «использования» инфраструктуры Magento для создания сайта, запуска сайта, и т. д. Другими словами, я не хочу использовать встроенную CMS и т. д., поскольку у нас уже есть статический веб-сайт. Я просто хотел бы, чтобы наши кнопки «Купить сейчас» использовали материал оформления заказа, и хотел бы иметь возможность использовать внутреннюю часть для отслеживания заказов и т. Д. Я смог «довольно» легко выполнить это с osCommerce, но Magento оказывается немного сложнее обернуть мою голову, так как я только начал смотреть на это в течение нескольких дней.

Я нашел другого человека, задавшего тот же самый вопрос на вики Magento (вместе с несколькими другими на форуме), и ни один из них по какой-то причине так и не получил ответа. Я заметил, что есть много экспертов Magento по переполнению стека, поэтому я решил попробовать здесь. Это пример одного вопроса, заданного кем-то в их вики, и он отражает суть того, чего я пытаюсь достичь:

Привет, насколько я понимаю, все решения для корзины покупок / электронной коммерции, которые я вижу, являются полнофункциональными веб-сайтами, управляемыми PHP. Это означает, что все страницы, с которыми взаимодействует пользователь, генерируются сервером, и, таким образом, опыт привязан к платформе/рабочему процессу magento. Я хотел бы интегрировать элементы электронной коммерции/корзины покупок в свой существующий веб-сайт. Фактически, я хотел бы иметь:

1) на странице информации о продукте кнопка «купить сейчас/добавить в корзину», которая добавляет товар в корзину

2) на каждой странице возможность просмотра корзины/оформления заказа

3) на странице оформления заказа, с уже размещенным дополнительным содержимым, с интегрированным в страницу блоком «оформления заказа» magento (а не со всей страницей, сгенерированной из Magento).

Кто-нибудь из вас делал это с Magento? Это для простого веб-сайта с одним продуктом, поэтому любые советы, которыми вы могли бы поделиться, будут высоко оценены.


person Community    schedule 23.10.2009    source источник
comment
В: Как интегрировать Magneto с сайтом? A: Поместите в него X-man.   -  person Chris Marisic    schedule 23.10.2009
comment
Да вроде правильно! ;-)   -  person    schedule 23.10.2009


Ответы (2)


1) на странице информации о продукте кнопка «купить сейчас/добавить в корзину», которая добавляет товар в корзину

Возможно, это Вопрос поможет вам (смотрите на вопрос, а не на ответ :-)), поскольку он показывает, как добавить товар в корзину, связав его с определенным URL-адресом, что позволит сделать это вне Magento.

2) на каждой странице возможность просмотра корзины/оформления заказа

Вы действительно хотите показать товары в корзине или просто иметь ссылку на корзину/кассу? Последнее, очевидно, было бы тривиальным.

3) на странице оформления заказа, с уже размещенным дополнительным содержимым, с интегрированным в страницу блоком «оформления заказа» magento (а не со всей страницей, сгенерированной из Magento).

Я думаю, что это должно быть возможно, но потребует от вас изучения внутренностей Magento. Для этого вам пришлось бы

  • включить файлы Magento JS и CSS на свой сайт

  • подделать запрос на оформление заказа в Magento (путем имитации начальной загрузки Magento и внедрения собственного экземпляра Mage_Core_Controller_Request_Http с поддельным URL-адресом оформления заказа)

  • захватить вывод поддельного запроса (это должно быть возможно через ZF, если вы не можете понять это, вы все равно можете использовать ob_start и тому подобное)

  • распечатайте html-код на своем сайте

Если у вас есть опыт работы с Zend Framework, это не должно быть для вас слишком сложным.

Что касается остального, вам не нужно много делать, так как (одностраничная) проверка основана на вызовах AJAX, которые, вероятно, не мешают вашему реальному сайту.

Я не могу сказать вам, будет ли это так же просто, как с osCommerce (не использовал его), но я очень уверен, что это должно быть выполнимо.

person André Hoffmann    schedule 23.10.2009

Мы используем статический интерфейс с серверной частью Magento (www.movingpicturebooks.com). Это довольно прямолинейно. Самая большая проблема заключается в том, что вам нужно жестко закодировать ваш внешний интерфейс для определенных идентификаторов продуктов. Если вы используете отдельные среды разработки и производства, синхронизировать их может быть настоящей сукой. Но это другая тема. Вот части, которые вам нужны:

1) Кнопки «Добавить в корзину» — используйте этот формат ссылки:

/checkout/cart/add/?product=$PRODUCTID&qty=$КОЛИЧЕСТВО

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) Skinning: вы упомянули о желании встроить содержимое корзины покупок Magento в свой шаблон дизайна. Вам нужно беспокоиться не только о корзине, но и о моей учетной записи, входе в систему, забытом пароле и многом другом. Это единственная область Magento, документированная наполовину. Проведите небольшое исследование, и у вас должно получиться.

person Wes Pomeroy    schedule 10.11.2009