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 |
Free forum by Nabble | Edit this page |