Estou recebendo o objeto json do resultado que precisa ser criado no Craft Comemrce 5, mas está criando um resultado, mas omissão na geração da versão. Eu tentei com as abordagens aquém, mas sem sorte
- Salve o resultado e tente salvar a versão
- Crie resultado e versão ao mesmo tempo
$product->setVariants([$variant]);
Inferior está meu código –
$product = new Product();
$product->typeId = $data['typeId']; // Product type ID
$product->title="Test"; // Product title
$product->enabled = $data['enabled'] ?? true; // Enabled status
$product->productDescription = $data['description'] ?? ''; // Description
$product->postDate = new DateTime();
if (!Craft::$app->elements->saveElement($product)) {
return false;
}
// Create a single default variant
$variant = new Variant();
$variant->productId = $product->id;
$variant->sku = "ABCD"; // SKU for the variant
$variant->price = 10.01; // Price
// $variant->stock = 1; // Stock level
$variant->hasUnlimitedStock = false; // Manage stock
Sua visita nos ajuda a continuar oferecendo o melhor para você! $variant->isDefault = true; // Mark as default variant
$variant->availableForPurchase = true;
$variant->promotable = true;
$variant->taxCategoryId = 1;
$variant->shippingCategoryId = 1;
if (!Craft::$app->elements->saveElement($variant)) {
// dd($product->getErrors());
// Craft::error('Failed to save product with variants: Sua visita nos ajuda a continuar oferecendo o melhor para você! . json_encode($product->getErrors()), __METHOD__);
return false;
}
$product->setVariants([$variant]);
if (!Craft::$app->elements->saveElement($product)) {
Craft::error('Failed to save product with variants: ' . json_encode($product->getErrors()), __METHOD__);
return false;
}
Aliás, também quero armazenar estoque, mas estou recebendo o erro de que o estoque é um atributo somente leitura.
Tags:
Crédito: Natividade Original
Sua visita nos ajuda a continuar oferecendo o melhor para você! color: #003BB0; display: block; margin-top: 10px;">Descubra o PHP Orientado a Objetos e dê um upgrade na sua carreira de desenvolvedor web!