- Posts: 79
- Thank you received: 3
Obtain Category path names
10 years 7 months ago - 10 years 7 months ago #230850
by pljuarez
Obtain Category path names was created by pljuarez
-- HikaShop version -- : Business 2.6.0
-- Joomla version -- : 3.4.8
-- PHP version -- : 5.5.32
Hello.
I have a book store and I have a category tree with a maximun depth of 3 or 4 levels . And I need to store in a Custom field the gategory path names for a product in order to do a search filter:
As you can see if I have a product asigned to "Historia" category, I need to store "Materias;Humanidades;Historia" in my product Custom field in order to find this product if I use "Humanidades" search term.
What can I do to obtain this category path names?
Thank in advance.
Regards
-- Joomla version -- : 3.4.8
-- PHP version -- : 5.5.32
Hello.
I have a book store and I have a category tree with a maximun depth of 3 or 4 levels . And I need to store in a Custom field the gategory path names for a product in order to do a search filter:
As you can see if I have a product asigned to "Historia" category, I need to store "Materias;Humanidades;Historia" in my product Custom field in order to find this product if I use "Humanidades" search term.
What can I do to obtain this category path names?
Thank in advance.
Regards
Last edit: 10 years 7 months ago by pljuarez.
Please Log in or Create an account to join the conversation.
10 years 7 months ago #230870
by Xavier
Replied by Xavier on topic Obtain Category path names
Hi,
So you want a way to fill that custom field automatically, not manually, right ?
If it is, we don't have default options like that, it will require custom code.
Potentially create a custom mass action plugin to add the desired action to the products.
Here is the developer documentation for the developers:
www.hikashop.com/support/documentation/1...s-action-plugin.html
So you want a way to fill that custom field automatically, not manually, right ?
If it is, we don't have default options like that, it will require custom code.
Potentially create a custom mass action plugin to add the desired action to the products.
Here is the developer documentation for the developers:
www.hikashop.com/support/documentation/1...s-action-plugin.html
Please Log in or Create an account to join the conversation.
10 years 7 months ago #231228
by pljuarez
Replied by pljuarez on topic Obtain Category path names
Thanks Xavier for your comment, this remembered me a plugin I developed some months ago. I have modified it in order to do this operation.
Here is my solution.
My plugin is based on "onBeforeProductCreate" and "onBeforeProductUpdate" triggers. In its code, I have included a loop in order to concatenate category names:
Regards
Here is my solution.
My plugin is based on "onBeforeProductCreate" and "onBeforeProductUpdate" triggers. In its code, I have included a loop in order to concatenate category names:
Code:
$primer_ruta = true;
//Construct a new category object
$class = hikashop_get('class.category');
$cate = $class->get((string) $categoria);
//loop until reach the category_id I need or reach the root category
while (($cate->category_id != JText::_('CAT_MATERIAS')) && ($cate->category_id != JText::_('CAT_RAIZ'))){
//Concatenate category name. If it isn't first name in path concatenate a semicolon as separator
if ($primer_ruta){
$ruta=$cate->category_name.$ruta;
$primer_ruta=false;
}else{
$ruta=$cate->category_name.'; '.$ruta;
}
//Up one level in categories tree
$class = hikashop_get('class.category');
$cate = $class->get((string) $cate->category_parent_id);
}
//When I reach root node then I store the category path in my custom field
if ($cate->category_id == JText::_('CAT_MATERIAS')){
$productData->materias=$ruta;
}
Regards
The following user(s) said Thank You: Xavier
Please Log in or Create an account to join the conversation.
Time to create page: 0.174 seconds