I am using Magneto 2.3
.
I want the product category field mandatory.
See below my code:
[![enter image description here][1]][1]
<div class="field">
<label class="label"><?= $block->escapeHtml(__('Product Category')) ?>:</label>
<?php if ($product_hint_status && $helper->getProductHintCategory()) : ?>
<img src="<?= $block->escapeUrl($this->getViewFileUrl('Webkul_Marketplace::images/quest.png')); ?>" class='questimg' title="<?= $block->escapeHtml($helper->getProductHintCategory()) ?>"/>
<?php endif; ?>
<?php if ($helper->getIsAdminViewCategoryTree()) { ?>
<div data-bind="scope: 'sellerCategory'">
<!-- ko template: getTemplate() --><!-- /ko -->
</div>
<script type="text/x-magento-init">
{
"*": {
"Magento_Ui/js/core/app": {
"components": {
"sellerCategory": {
"component": "Webkul_Marketplace/js/product/seller-category-tree",
"template" : "Webkul_Marketplace/seller-category-tree",
"filterOptions": true,
"levelsVisibility": "1",
"options": <?= /* @noEscape */ $block->getCategoriesTree()?>,
"value": <?= /* @noEscape */ json_encode($data['product']['category_ids'])?>
}
}
}
}
}
</script>
<?php } else { ?>
<div class="wk-field wk-category">
<div class="wk-for-validation">
<div id="wk-category-label"><?= $block->escapeHtml(__("CATEGORIES")); ?></div>
<?php
$categories = $data['product']['category_ids'];
foreach ($categories as $value) { ?>
<input type="hidden" name="product[category_ids][]" value="<?= $block->escapeHtml($value); ?>" id="wk-cat-hide<?= $block->escapeHtml($value); ?>"/>
<?php } ?>
<?php
if ($helper->getAllowedCategoryIds()) {
$storeconfig_catids = explode(',', trim($helper->getAllowedCategoryIds()));
foreach ($storeconfig_catids as $storeconfig_catid) {
$cat_model = $block->getCategory()->load($storeconfig_catid);
if (isset($cat_model["entity_id"]) && $cat_model["entity_id"]) {
?>
<div class="wk-cat-container">
</span><span class="wk-foldersign"></span>
<span class="wk-elements wk-cat-name"><?= $block->escapeHtml($cat_model->getName()) ?></span>
<?php
if (in_array($cat_model["entity_id"], $categories)) {?>
<input class="wk-elements" type="checkbox" name="product[category_ids][]" value=<?= $block->escapeHtml($cat_model['entity_id']) ?> checked />
<?php
} else { ?>
<input class="wk-elements" type="checkbox" name="product[category_ids][]" value='<?= $block->escapeHtml($cat_model['entity_id']) ?>'/>
<?php
} ?>
</div>
<?php
}
}
} else {
$count = 0;
$category_helper = $this->helper(\Magento\Catalog\Helper\Category::class);
$category_model = $block->getCategory();
$_categories = $category_helper->getStoreCategories();
foreach ($_categories as $_category) {
$count++;
if (count($category_model->getAllChildren($category_model->load($_category['entity_id'])))-1 > 0) { ?>
<div class="wk-cat-container" style="margin-left:0px;">
<span class="wk-plus">
</span><span class="wk-foldersign"></span>
<span class="wk-elements wk-cat-name"><?= $block->escapeHtml($_category->getName()) ?></span>
<?php
if (in_array($_category["entity_id"], $categories)) {?>
<input class="wk-elements" type="checkbox" name="product[category_ids][]" value=<?= $block->escapeHtml($_category['entity_id']) ?> checked />
<?php
} else { ?>
<input class="wk-elements" type="checkbox" name="product[category_ids][]" value='<?= $block->escapeHtml($_category['entity_id']) ?>'/>
<?php
} ?>
</div>
<?php
} else { ?>
<div class="wk-cat-container">
</span><span class="wk-foldersign"></span>
<span class="wk-elements wk-cat-name"><?= $block->escapeHtml($_category->getName()) ?></span>
<?php
if (in_array($_category["entity_id"], $categories)) {?>
<input class="wk-elements" type="checkbox" name="product[category_ids][]" value=<?= $block->escapeHtml($_category['entity_id']) ?> checked />
<?php
} else { ?>
<input class="wk-elements" type="checkbox" name="product[category_ids][]" value='<?= $block->escapeHtml($_category['entity_id']) ?>'/>
<?php
} ?>
</div>
<?php
}
}
} ?>
</div>
</div>
<?php } ?>
</div>