Thanks for the explanation Rick. I'll use the term::update, oddly missed it somehow. When time allows someone might want to add plugin hooks to the vocabulary::merge method. As more plugins use vocabularies and store terms by id's they will need to keep track of changes that alter the id.
Thanks again, Dave On Jan 24, 8:24 pm, rick c <[email protected]> wrote: > In the admin, I'm not sure it's worthwhile to have different behavior > whether you're merging more than one tag, or renaming a tag, > especially since you may be renaming the tag to the same thing as a > tag that already exists. This requires changes to the object_terms > table, as you noted, but isn't done frequently enough to worry about > from a performance point of view. > > Term, from which Tag derives, also has an update method, so if you > wanted to in a plugin you could rename a Term using it. For example, > code similar to this will change a tag's display text: > > $tag = Tag::get( 'Asides'); // get a tag by the display name > $tag->term_display = 'Sidebar'; > $tag->update(); // writes the new display name to the db. Note that > the slug won't change in this case, and the id will stay the same. > > To change the slug: > > $tag->term = 'sidebar'; > $tag->update(); // if the slug 'sidebar' already exists, since they > have to be unique, 'sidebar' could be changed into 'sidebar-1', > 'sidebar-2', or whatever it takes to get a unique slug > > As you can see from the above, you aren't assured that what you set as > the slug will be what you get, just as is the case with post slugs. > This could probably be wrapped in a rename() method, but it hasn't > been found necessary yet. > > Rick > > On Jan 22, 9:24 pm, Dave Perry <[email protected]> > wrote: > > > I'm playing around with taxonomy and was surprised to find that the > > 'renaming' of a term is handled by the 'merge' method; essentially > > changing not only the name of the term but also it's id and therefore > > requiring changes to the object_terms table also. Is there a reason > > that a 'rename' method was not implemented? Are there undesirable > > consequences that prevent simply updating the 'term' and > > 'term_display' fields? > > > Thanks -- 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/habari-dev
