Check out jQuery plugin called Treeview Here's a site that uses the plugin http://goo.gl/gKEP
Brian On Aug 8, 8:03 pm, Alex Liu <[email protected]> wrote: > Dear RT, > > Did you end up getting this to work? I'm looking for something similar > to this and this was the closest thread I found to helping me out. I > tried to setup JQuery toggle but that ended up not working whatsoever > so I scrapped my changes and now am back to where I started. > > Or if anyone else can help out, it would be greatly appreciated > > -Alex > > On Jul 20, 11:24 am, RT <[email protected]> wrote: > > > > > Sorry its been awhile since I replied, but here is the vanilla > > category tag code: > > > def category_tree(id=None): > > """ > > Creates an unnumbered list of the categories. > > > Example:: > > > <ul> > > <li>Books > > <ul> > > <li>Science Fiction > > <ul> > > <li>Space stories</li> > > <li>Robot stories</li> > > </ul> > > </li> > > <li>Non-fiction</li> > > </ul> > > </ul> > > """ > > active_cat = None > > if id: > > try: > > active_cat = Category.objects.active().get(id=id) > > except Category.DoesNotExist: > > active_cat = None > > # We call the category on every page so we will cache > > # The actual structure to save db hits > > current_site = Site.objects.get_current() > > cache_key = "cat-%s" % current_site.id > > existing_tree = cache.get(cache_key, None) > > if existing_tree is None: > > root = Element("ul") > > for cats in Category.objects.root_categories(): > > recurse_for_children(cats, root, active_cat) > > existing_tree = root > > cache.set(cache_key, existing_tree) > > # If we have an active cat, search through and identify it > > # This search is less expensive than the multiple db calls > > if active_cat: > > active_cat_id = "category-%s" % active_cat.id > > for li in existing_tree.getiterator("li"): > > if li.attrib["id"] == active_cat_id: > > link = li.find("a") > > link.attrib["class"] = "current" > > break > > return tostring(existing_tree, 'utf-8') > > > Thanks for all the help. > > > On Jul 15, 4:44 pm, lzantal <[email protected]> wrote: > > > > Hi, > > > > Make sure the templatetags is a package, so it needs a __init__.py, > > > Also you don't need a custom category tag if all you want is collapse > > > the subcategories. > > > You just need to would iterate through the category list with jQuery. > > > Could you post the generated html so I can write up a simple example? > > > All my category template tags are modified so I don't have a vanilla > > > satchmo category template tag. > > > > lzantal > > > > On Jul 15, 11:19 am, RT <[email protected]> wrote:> Where are custom > > > templatetags supposed to live? I put it in store/ > > > > localsite/templatetags/update_category.py (store is the top directory > > > > of the store) > > > > Then I changed the top of base.html to look like this: > > > > {% load i18n update_category satchmo_google satchmo_util > > > > satchmo_currency satchmo_discounts app_plugins normalize_decimal %} > > > > > Now when I try to go to the site I get an error saying: > > > > > 'update_category' is not a valid tag library: Template library > > > > update_category not found, tried > > > > django.templatetags.update_category,satchmo_store.shop.templatetags.update_ > > > > > > category,django.contrib.admin.templatetags.update_category,django.contrib.c > > > > > > omments.templatetags.update_category,sorl.thumbnail.templatetags.update_cat > > > > > > egory,livesettings.templatetags.update_category,satchmo_utils.thumbnail.tem > > > > > > platetags.update_category,satchmo_store.contact.templatetags.update_categor > > > > > > y,tax.templatetags.update_category,product.templatetags.update_category,pay > > > > > > ment.templatetags.update_category,payment.modules.giftcertificate.templatet > > > > > > ags.update_category,satchmo_ext.upsell.templatetags.update_category,satchmo > > > > > > _ext.productratings.templatetags.update_category,satchmo_utils.templatetags > > > .update_category,app_plugins.templatetags.update_category > > > > > What am I doing wrong? Do i need to specify where templatetags live? > > > > and thanks for all the help so far! > > > > RT > > > > > On Jul 15, 9:51 am, Stuart Laughlin <[email protected]> wrote: > > > > > > category_tree is a template tag that outputs the HTML in question. > > > > > > Check "satchmo_store/shop/templatetags/satchmo_category.py" for the > > > > > implementation of category_tree. > > > > > > --Stuart > > > > > > On Thu, Jul 15, 2010 at 11:40 AM, RT <[email protected]> wrote: > > > > > > Thanks for the help, I am a little bit confused by the way Satchmo > > > > > > works with Django (I'm pretty new to both) so if this is the code > > > > > > which then generates the sidebar as a <ul>: > > > > > > > <h3>{% trans "Shop Categories" %}</h3> > > > > > > {% block sidebar-categories %} > > > > > > <div id="menu_container"> > > > > > > {% if category.id %} > > > > > > {% category_tree category.id %} > > > > > > {% else %} > > > > > > {% if product.get_category %} > > > > > > {% category_tree product.get_category.id %} > > > > > > {% else %} > > > > > > {% category_tree %} > > > > > > {% endif %} > > > > > > {% endif %} > > > > > > </div> > > > > > > How exactly do I use jquery with it? Where is the <ul> coming from? > > > > > > > On Jul 14, 10:40 am, lzantal <[email protected]> wrote: > > > > > >> Hi, > > > > > > >> On Jul 14, 10:11 am, RT <[email protected]> wrote: > > > > > > >> > I have searched a bit and haven't found anything about this. Is > > > > > >> > there > > > > > >> > any easy way to make subcategories collapse into their parent > > > > > >> > category > > > > > >> > and only show when you click the parent (in the left navigation > > > > > >> > of the > > > > > >> > simple store). Has this been implemented or do I need to > > > > > >> > implement it > > > > > >> > myself. Thanks! > > > > > > >> I use jquery.toggle() to do that. Just wrap the subcategories in a > > > > > >> div > > > > > >> and bind toggle event to the parent which will show and hide the > > > > > >> subcategories for you. > > > > > > >> lzantal > > > > > > > -- > > > > > > You received this message because you are subscribed to the Google > > > > > > Groups "Satchmo users" group. > > > > > > To post to this group, send email to [email protected]. > > > > > > To unsubscribe from this group, send email to > > > > > > [email protected]. > > > > > > For more options, visit this group > > > > > > athttp://groups.google.com/group/satchmo-users?hl=en. -- You received this message because you are subscribed to the Google Groups "Satchmo users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/satchmo-users?hl=en.
