Ich habe ein simples Plugin geschrieben welche mir in der API „GetOne aufgerufen“ zurück gibt.
Soweit so gut.
<?php
namespace Shopware\Components\Api\Resource;
class GreVoApi extends Resource
{
public function create(array $params)
{
return "Document created";
}
public function getOne($id)
{
$this->checkPrivilege('read');
if (empty($id)) {
throw new ApiException\ParameterMissingException();
}
return "GetOne aufgerufen";
}
}
?>
Nun möchte ich bei dem Aufruf ein Dokument erstellen. Dazu habe ich das Skript mal zum testen mit einer festen orderId wie folgt ergänzt:
<?php
namespace Shopware\Components\Api\Resource;
class GreVoApi extends Resource
{
public function create(array $params)
{
return "Document created";
}
public function getOne($id)
{
$this->checkPrivilege('read');
if (empty($id)) {
throw new ApiException\ParameterMissingException();
}
$orderId = 95912;
$documentType = 1;
$renderer = 'pdf';
$displayDate = date("d.m.Y");
$document = Shopware_Components_Document::initDocument(
$orderId,
$documentType,
[
'netto' => false,
'bid' => null,
'voucher' => null,
'date' => $displayDate,
'delivery_date' => $displayDate,
// Don't show shipping costs on delivery note #SW-4303
'shippingCostsAsPosition' => (int) $documentType !== 2,
'_renderer' => $renderer,
'_preview' => false,
'_previewForcePagebreak' => null,
'_previewSample' => null,
'docComment' => null,
'forceTaxCheck' => false,
]
);
$erfolg = $document->render();
return "GetOne aufgerufen";
}
}
?>
Ich erhalte aber die PHP Fehlermeldung:
PHP Fatal error: Uncaught Error: Class 'Shopware\\Components\\Api\\Resource\\Shopware_Components_Document' not found in [.../custom/plugins/GreVoApi/Components/Api/Resource/GreVoApi.php]
Weshalb kann denn die Klasse nicht gefunden werden?
Diese Klasse initDocument() welche ich aufrufen will befindet sich in /engine/Shopware/Components/Documept.php
Wie rufe ich diese denn korrekt auf?
Vielen Dank für jede Hilfe!