How to create categories in custom code

More
7 years 10 months ago - 7 years 10 months ago #61681 by oleg_kosarev
i'm creating category and items from api. her is function in add new cat
Code:
function addNewCat($mainCat, $lang, $aliasCat, $titleCat) { // Set the extension. For content categories, use 'com_content' $extension = 'com_content'; // Set the title for the category $title = $titleCat; // Type the description, this is also the 'body'. HTML allowed here. $desc = ''; // Set the parent category. 1 is the root item. $parent_id = $mainCat; // JTableCategory is autoloaded in J! 3.0, so... if (version_compare(JVERSION, '3.0', 'lt')) { JTable::addIncludePath(JPATH_PLATFORM . 'joomla/database/table'); } // Initialize a new category $category = JTable::getInstance('Category'); $category->extension = $extension; $category->title = $title; $category->alias=$aliasCat; $category->description = $desc; $category->published = 1; $category->access = 1; $category->params = '{"target":"","image":""}'; $category->metadata = '{"page_title":"","author":"","robots":""}'; $category->language = $lang; // Set the location in the tree $category->setLocation($parent_id, 'last-child'); // Check to make sure our data is valid if (!$category->check()) { JError::raiseNotice(500, $category->getError()); return false; } // Now store the category if (!$category->store(true)) { JError::raiseNotice(500, $category->getError()); return false; } // Build the path for our category $status = $category->rebuildPath($category->id); if (!$status) { return $category->id; } else { return $status; } }

All cat create suceful but if open in admin panel error
Code:
1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') ORDER BY level ASC' at line 1 SQL=SELECT id, params FROM #__categories WHERE id IN () ORDER BY level ASC

What error and what fix?
Last edit: 7 years 10 months ago by ggppdk.

Please Log in or Create an account to join the conversation.

More
7 years 10 months ago #61685 by ggppdk
Hello

you can create a category the same way that you create a Joomla article category
- just if it is top level category then when you login in backend and visit backend FLEXIcontent UI
you will get a message "update permissions" message, just click to update


-- Flexicontent is Free but involves a big effort on our part.
Like the our support? (for a bug-free FC, despite having a long list of functions) Like the features? Like the ongoing development and future commitment to FLEXIcontent?
-- Add your voice to the FLEXIcontent JED listing with a 5-star...

Please Log in or Create an account to join the conversation.

More
7 years 10 months ago #61690 by oleg_kosarev
ok but what create corectory category?
include "\administrator\components\com_flexicontent\models\category.php" and call save($data)?

Please Log in or Create an account to join the conversation.

More
7 years 10 months ago - 7 years 10 months ago #61693 by ggppdk
hello

something like this should work:
Code:
// REQUIRE some files if (!defined('DS')) define('DS',DIRECTORY_SEPARATOR); require_once (JPATH_ADMINISTRATOR.DS.'components'.DS.'com_flexicontent'.DS.'defineconstants.php'); JTable::addIncludePath(JPATH_ADMINISTRATOR.DS.'components'.DS.'com_flexicontent'.DS.'tables'); require_once (JPATH_SITE.DS.'components'.DS.'com_flexicontent'.DS.'classes'.DS.'flexicontent.fields.php'); require_once (JPATH_SITE.DS.'components'.DS.'com_flexicontent'.DS.'classes'.DS.'flexicontent.helper.php'); require_once (JPATH_SITE.DS.'components'.DS.'com_flexicontent'.DS.'helpers'.DS.'permission.php'); require_once (JPATH_ADMINISTRATOR.DS.'components'.DS.'com_flexicontent'.DS.'models'.DS.'category.php'); // Create an instance of the category model $catModel = new FlexicontentModelCategory(); // Create the data $data = array(); $data['cid'] = 0; ... // Save the new category $catModel ->save($data);

To load a category use:
Code:
$id = 44; $catModel ->setId($id); $category = $catModel->getCategory();


-- Flexicontent is Free but involves a big effort on our part.
Like the our support? (for a bug-free FC, despite having a long list of functions) Like the features? Like the ongoing development and future commitment to FLEXIcontent?
-- Add your voice to the FLEXIcontent JED listing with a 5-star...
Last edit: 7 years 10 months ago by ggppdk.
The following user(s) said Thank You: oleg_kosarev

Please Log in or Create an account to join the conversation.

Moderators: vistamediajoomlacornerggppdk
Time to create page: 0.275 seconds
Save
Cookies user preferences
We use cookies to ensure you to get the best experience on our website. If you decline the use of cookies, this website may not function as expected.
Accept all
Decline all
Essential
These cookies are needed to make the website work correctly. You can not disable them.
Display
Accept
Analytics
Tools used to analyze the data to measure the effectiveness of a website and to understand how it works.
Google Analytics
Accept
Decline