Я хотел бы создать базовое веб-приложение на Zend Framework2, и мне нужно использовать движок электронной коммерции от Shopware. Мне нужно использовать функцию корзины покупок и оформления заказа, предоставляемую Shopware, в моем веб-приложении. Мой вопрос будет:
Обновление: в настоящее время моя структура zf2 похожа
Вы можете получить доступ к DI-контейнеру для магазинов с помощью следующего примера кода:
<?php
$shopwarePath = '/some/path/where/shopware/is';
// initialize shopware autloader
require $shopwarePath . '/autoload.php';
// create and boot kernel / prepare di container
$shopwareKernel = new \Shopware\Kernel('production', false);
$shopwareKernel->boot();
// get a service from the di container
$acl = $shopwareKernel->getContainer()->get('acl');
/** @var \Shopware_Components_Acl $acl */
$acl->isAllowed('local_admins', 'order', 'create'); // returns true
Чтобы начать фактическую отправку, вы должны передать запрос методу обработки ядра (https://github.com/shopware/shopware/blob/master/shopware.php#L109):
$request = new \Symfony\Component\HttpFoundation\Request::createFromGlobals();
$shopwareKernel->handle($request)
->send();
Вы также можете преобразовать существующий объект запроса ZF2 в объект запроса, совместимый с программным обеспечением, и передать его внутреннему диспетчеру.
Мы делаем нечто подобное с Запросом Symfony: https://github.com/shopware/shopware/blob/master/engine/Shopware/Kernel.php#L145
Других решений пока нет …