Re: Users - bsh List Interface from Arralist ?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Re: Users - bsh List Interface from Arralist ?

oceatoon
Thanks Sterling for the advice
I'll have to check all this out in more detail.
Regards
Tibor


Sterling Okura a écrit :

>
> Not sure if this will work for your situation, but one option that is
> much simpler than a recursive check is to copy all product members
> from a subcategory into their parent category. So each of the 4 main
> categories will have all products that can be found in each of their
> subcategories, and users can still drill down and search subcategories
> to filter products. You can modify the main category templates to only
> display subcategories if you don’t want all the individual products
> showing up. This is how many big online stores (like circuitcity.com)
> do it.
>
> If you go this way, there is an easy tool in the Catalog Manager that
> lets you copy all members from one category to another.
>
> Good luck,
>
> sterling
>
> ------------------------------------------------------------------------
>
> *From:* tibor katelbach [mailto:[hidden email]]
> *Sent:* Thursday, March 02, 2006 3:34 AM
> *To:* OFBiz Users / Usage Discussion
> *Subject:* Re: [OFBiz] Users - bsh List Interface from Arralist ?
>
> it seems it already works with recursive inCategory check :)
> is this correct ?
>
> On 3/2/06, *tibor katelbach* <[hidden email]
> <mailto:[hidden email]>> wrote:
>
> Thanks every one for these efficient directions
> I got it to work now in bsh and got to understand quite a bit of the
> interesting java behind it all.
> It works on one level meaning if the product is directly in the
> category "mycat" in the isProductInCategory(deleg,"product","mycat").
> One of my project specification is that my master categories (those of
> my my search cut up) will have sub categories that contain the
> products, So I'll need to augment isProductInCategory() to go back up
> in to the category tree to check if the product is in the "mycat"
> Master Category.
> Is there such a method for retreiving the whole category tree of a
> product or the top level parent category ?
>
> Thanks for all your help
> It's quite comforting to know one is not alone with so many
> functionalities to discover
> Best regards
>
> Tibor
>
> On 3/1/06, *Sterling Okura* < [hidden email]
> <mailto:[hidden email]>> wrote:
>
> Tibor,
>
> I forgot to mention one more suggestion. You might want to comment out
> the variant product search code in isProductInCategory() method if you
> don't use variants, or if all of your virtual products belong to the
> same categories that their variants do.
>
> What that code does is for every product that doesn't belong to that
> category, it does a non-cached findByPrimaryKey to grab the Product
> entity and check for variants, and if it finds variants if checks each
> one to see if they belong in that category. I noticed a huge
> performance increase by commenting out that code.
>
> Warm regards,
>
> sterling
>
> ------------------------------------------------------------------------
>
> *From:* Sterling Okura [mailto: [hidden email]
> <mailto:[hidden email]>]
> *Sent:* Wednesday, March 01, 2006 2:44 PM
>
>
> *To:* 'OFBiz Users / Usage Discussion'
> *Subject:* Re: [OFBiz] Users - bsh List Interface from Arralist ?
>
> Tibor,
>
> Rather than trying to convert a list of strings to a list of
> GenericValues, it might be easier to use the CategoryWorker's
> isProductInCategory directly (since that's what
> filterProductsInCategory method ends up calling anyway).
>
> Just iterate through list of ID's and display any that return true.
>
> Adrian has a valid point that bsh is slower, but in my experience it
> isn't too bad once cached (but you have to clear cache for code
> changes to work). Depending on how many products you have, it might
> work ok to just iterated in bsh.
>
> public static boolean *isProductInCategory*(org.ofbiz.entity.GenericDelegator delegator,
>                                           java.lang.String productId,
>  
>  
>                                           java.lang.String productCategoryId)
>
> throws org.ofbiz.entity.GenericEntityException
>
> -sterling
>
> ------------------------------------------------------------------------
>
> *From:* tibor katelbach [mailto:[hidden email]
> <mailto:[hidden email]>]
> *Sent:* Wednesday, March 01, 2006 10:22 AM
> *To:* OFBiz Users / Usage Discussion
> *Subject:* Re: [OFBiz] Users - bsh List Interface from Arralist ?
>
> Yes you're right
>
> I followed it up and it's simply an µArrayList of
> searchResult.getString("productId")
> where searchResult is the GenericValue.
> should I overload this method to return the whole GenericValue or is
> this too heavy of a technique ? Should I just make an ArrayList of
> pairs productid, parentCategory ?
>
> thanks for your help Andrew
> Tibor
>
> On 3/1/06, *Andrew Sykes* <[hidden email]
> <mailto:[hidden email]>> wrote:
>
> Tibor,
>
> It looks like my guess was right, prodL isn't a List of GenericValues
>
> On Wed, 2006-03-01 at 17:59 +0100, tibor katelbach wrote:
> > Maybe this can help :
> > This what I do in catalog/keywordSearch.bsh
> >
> > Map result = ProductSearchSession.getProductSearchResult(session,
> > delegator, prodCatalogId);
> >
> > List prodL = new ArrayList(result.get("productIds"));
> > nList = CategoryWorker.filterProductsInCategory(delegator,prodL ,
> > "COMBI");
> >
> > On 3/1/06, tibor katelbach <[hidden email]
> <mailto:[hidden email]>> wrote:
> > Nop
> >
> > I still get this , but don't really know where the problems
> > is ?
> >
> > Error: The application script threw an exception: Sourced
> > file: C:\X_Dev\prodemo\components\ecommerce\webapp\ecommerce
> > \WEB-INF\actions\catalog\keywordsearch.bsh : Method Invocation
> > CategoryWorker.filterProductsInCategory : at Line: 47 : in
> > file: C:\X_Dev\prodemo\components\ecommerce\webapp\ecommerce
> > \WEB-INF\actions\catalog\keywordsearch.bsh :
> > CategoryWorker .filterProductsInCategory ( delegator , prodL ,
> > "COMBI" ) Target exception: java.lang.ClassCastException BSF
> > info: C:\X_Dev\prodemo\components\ecommerce\webapp\ecommerce
> > \WEB-INF\actions\catalog\keywordsearch.bsh at line: 0 column:
> > 0
> >
> >
> > _______________________________________________
> > Users mailing list
> > [hidden email] <mailto:[hidden email]>
> > http://lists.ofbiz.org/mailman/listinfo/users
> --
> Kind Regards
> Andrew Sykes <[hidden email]
> <mailto:[hidden email]>>
> Sykes Development Ltd
> http://www.sykesdevelopment.com
>
>
> _______________________________________________
> Users mailing list
> [hidden email] <mailto:[hidden email]>
> http://lists.ofbiz.org/mailman/listinfo/users
>
>
>
> _______________________________________________
> Users mailing list
> [hidden email] <mailto:[hidden email]>
> http://lists.ofbiz.org/mailman/listinfo/users
>
>
>
> ------------------------------------------------------------------------
>
>  
> _______________________________________________
> Users mailing list
> [hidden email]
> http://lists.ofbiz.org/mailman/listinfo/users

--
180 Rue Réné Laennec
Res les Pins , Bat M
34090 Montpellier
France

Mobil : 0033-660756657
Home : 033- 467405929

site : www.open-atlas.org
email & gtalk : [hidden email]
msn : [hidden email]
yahoo : [hidden email]
skype : oceatoon
ICQ : 104346615

 
_______________________________________________
Users mailing list
[hidden email]
http://lists.ofbiz.org/mailman/listinfo/users