Dynamische Produkte
Um dynamic products in dein Hosting-Modul zu integrieren, musst du die folgende Methode in deiner Datei HostingHandler.php implementieren.
public function getDynamicProducts(Category $category): ServerHostingDynamicProductResponse {
$products = [];
$productOptions = [];
/*
* Get and iterate all remote products.
*
* The KEY should be the unique product identifiert, the value is a App\Models\Product object.
*/
foreach($this->getClient($category->sales_channel_id)->getServers() as $serverItem){
$products[$serverItem->uuid] = new Product([
"module_settings" => [
"serverId" => $serverItem->uuid,
],
"price_base" => $serverItem->price->monthly, // monthly price
"price_setup" => $serverItem->price->setup, // setup price if applicable
"product_options" => [ // more on product options below!
"os"
],
"de-DE" => [
"name" => "Produkt Name",
"description" => "Produkt Beschreibung DE"
],
"en-GB" => [
"name" => "Product name",
"description" => "Product description EN"
]
]);
}
return new ServerHostingDynamicProductResponse(
$products,
$productOptions
);
}Entwickeln / ausprobieren / debuggen
Um den Code deiner Implementierung für dynamische Produkte auszuprobieren, erstelle zuerst eine Kategorie, in der dein Modul als einzige dynamische Quelle aufgeführt ist.
Danach kannst du mit dem folgenden Befehl den Code deines Moduls ausprobieren. Beachte, dass du die Kategorie-ID durch die von dir erstellte ersetzen musst. Wenn du nur eine Kategorie hast, kannst du die Option categoryId= einfach entfernen.
php artisan hw:synchronizeDynamicCategories --categoryId=1War das hilfreich?