From 74b80849e8ed759fb8c606f266ee03a6f99d6544 Mon Sep 17 00:00:00 2001 From: Vijay Khollam Date: Sat, 5 Sep 2020 13:16:13 +0530 Subject: [PATCH] Feature #164522 feat: Ability to support importing UCM categories while importing UCM Records --- .../com_tjucm/site/controllers/items.php | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/components/com_tjucm/site/controllers/items.php b/src/components/com_tjucm/site/controllers/items.php index 3e905acb..0eb6fa14 100644 --- a/src/components/com_tjucm/site/controllers/items.php +++ b/src/components/com_tjucm/site/controllers/items.php @@ -150,8 +150,9 @@ public function importCsv() } elseif (count($headers) == count($data)) { - $itemData = array(); - $parentId = 0; + $itemData = array(); + $parentId = 0; + $categoryId = 0; // Prepare item data for item creation foreach ($data as $key => $value) @@ -226,6 +227,19 @@ public function importCsv() $itemData[$fieldName] = $clusterTable->id; } } + elseif ($fieldsArray[$fieldName]->type == 'itemcategory') + { + if (JLoader::import('components.com_categories.tables.category', JPATH_ADMINISTRATOR)) + { + $categoryTable = Table::getInstance('Category', 'CategoriesTable'); + $categoryTable->load(array('title' => $value, 'extension' => $client, 'published' => 1)); + + if (property_exists($categoryTable, 'id')) + { + $itemData[$fieldName] = $categoryId = $categoryTable->id; + } + } + } else { $itemData[$fieldName] = trim($value); @@ -253,7 +267,7 @@ public function importCsv() if ($data !== false) { // Save the record in UCM - if ($tjucmItemFormModel->save(array('client' => $client, 'parent_id' => $parentId))) + if ($tjucmItemFormModel->save(array('client' => $client, 'parent_id' => $parentId, 'category_id' => $categoryId))) { $contentId = (int) $tjucmItemFormModel->getState($tjucmItemFormModel->getName() . '.id');