Skip to content

Instantly share code, notes, and snippets.

@amite
Forked from lukeholder/import.php
Created June 30, 2016 07:53
Show Gist options
  • Select an option

  • Save amite/1330e36fb2b7a41e93b395329ab25446 to your computer and use it in GitHub Desktop.

Select an option

Save amite/1330e36fb2b7a41e93b395329ab25446 to your computer and use it in GitHub Desktop.

Revisions

  1. @lukeholder lukeholder revised this gist Jun 16, 2016. 1 changed file with 0 additions and 1 deletion.
    1 change: 0 additions & 1 deletion import.php
    Original file line number Diff line number Diff line change
    @@ -9,7 +9,6 @@

    $newProduct = new Commerce_ProductModel();

    $newProduct->authorId = craft()->userSession->id;
    $newProduct->typeId = 1; // Replace with product type ID;
    $newProduct->enabled = true;
    $newProduct->promotable = true;
  2. @lukeholder lukeholder created this gist Dec 7, 2015.
    53 changes: 53 additions & 0 deletions import.php
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,53 @@
    <?php
    namespace Craft;

    // This file could be placed into your public_html folder and visited to import a cheese product.

    $craft = require '../craft/app/bootstrap.php';

    $craft->plugins->loadPlugins();

    $newProduct = new Commerce_ProductModel();

    $newProduct->authorId = craft()->userSession->id;
    $newProduct->typeId = 1; // Replace with product type ID;
    $newProduct->enabled = true;
    $newProduct->promotable = true;
    $newProduct->freeShipping = 0;
    $newProduct->postDate = new DateTime();
    $newProduct->taxCategoryId = craft()->commerce_taxCategories->getDefaultTaxCategoryId();
    $newProduct->getContent()->title = "Cheese";
    $newProduct->slug = StringHelper::toKebabCase("Cheese");

    // Product custom fields
    // $product->setContentFromPost(craft()->request->getPost(['fields']));

    $variant = new Commerce_VariantModel();
    $variant->setProduct($newProduct);
    $variant->sortOrder = 1;
    $variant->getContent()->title = "Cheese";
    $variant->sku = "10101";
    $variant->price = "10";
    $variant->unlimitedStock = true;

    $newProduct->setVariants([$variant]);

    if(craft()->commerce_products->saveProduct($newProduct)){
    echo "done";
    }else{
    $errors = $newProduct->getAllErrors();
    foreach ($errors as $error) {
    echo $error;
    echo "<br>";
    }
    foreach ($newProduct->getVariants() as $variant) {
    $errors = $variant->getAllErrors();
    foreach ($errors as $error) {
    echo $error;
    echo "<br>";
    }
    }

    };

    $craft->end();