1

I have created a new category using the script below. Once I have created the category using the script, then added a subcategory through admin, The category checkbox tree will not load on the Catalog Price Rules page.

Marketing->Catalog Price Rules->Add New Rule->Conditions->(+)->Please Select a Condition to Add->Category->(...)->(open Chooser)(This is the option right next to the input field

It appears there is an error causing the script to reload the category in an infinite loop.

<?php
//creating categories in magento 2
//last verified Magento 2.2.0  27 Oct 2017
use \Magento\Framework\App\Bootstrap;
echo 'code by harshvardhanmalpani';
include('./app/bootstrap.php');
$bootstrap = Bootstrap::create(BP, $_SERVER);
$objectManager = $bootstrap->getObjectManager();
function createCategory($a='',$b=1,$c=true,$d='',$e='',$f='',$g='') {
        global $objectManager;
        $category = $objectManager->get('\Magento\Catalog\Model\CategoryFactory')->create();
        $category->setName($a);
        $category->setParentId($b); // 1: root category.
        $category->setIsActive($c);
        $category->setCustomAttributes([
'description' => $d,
'meta_title' => $e,
'meta_keywords' => $f,
'meta_description' => $g,
]);
$objectManager->get('\Magento\Catalog\Api\CategoryRepositoryInterface')->save($category);
}
createCategory("Abc");
?>
4
  • Looks like you are missing to set root category/parent category. Commented Jun 1, 2018 at 15:16
  • Is the root category id indeed of 1 ? Have a look at magento.stackexchange.com/a/36560/7773 to get it Commented Jun 1, 2018 at 15:52
  • The parent category is 1. I am adding a root category, and it will be for a new store, so there is no store at the time the category is created. I do link it to the store during the store creation process. Commented Jun 1, 2018 at 17:12
  • I have looked into this a little further. In the file vendor/magento/module-catalog/view/adminhtml/web/js/category-checkbox-tree.js there is a for loop that increments the first few times, but gets stuck after that. Commented Jun 14, 2018 at 13:48

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.