man Bric::Biz::Category () - A module to group assets into categories.
NAME
Bric::Biz::Category - A module to group assets into categories.
VERSION
$LastChangedRevision$
DATE
$LastChangedDate: 2004-08-13 18:56:36 -0700 (Fri, 13 Aug 2004) $
SYNOPSIS
# Return a new category object. my $cat = Bric::Biz::Category->new($init);
# Look up an existing category object. my $cat = Bric::Biz::Category->lookup({'id' => $cat_id});
# Search for a list of categories. my @cats = Bric::Biz::Category->list($crit);
# Attribute accessors. my $id = $cat->get_id; my $name = $cat->get_name; $cat = $cat->set_name($name); my $desc = $cat->get_description; $cat = $cat->set_description($desc); my $site_id = $cat->get_site_id; $cat = $cat->set_site_id($site_id);
# Return a list of child categories of this category. @cats = $cat->get_children(); # Return the parent of this category. $parent = $cat->get_parent();
# Attribute methods. $val = $element->set_attr($name, $value); $val = $element->get_attr($name); $val = $element->set_meta($name, $field, $value); $val = $element->get_meta($name, $field);
# Ad string methods $txt = $element->get_ad_string; $element->set_ad_string($value); $txt = $element->get_ad_string2; $element->set_ad_string2($value);
# Add/Delete child categories for this category. $cat->add_child([$cat || $cat_id]); $cat->del_child([$cat || $cat_id]);
# Manage keyword associations. @keys = $cat->get_keywords; $cat->add_keywords(@keywords); $cat->del_keywords(@keywords);
# Save information for this category to the database. $cat->save;
DESCRIPTION
Allows assets to be grouped into categories. In addition to assets a category can contain other categories, allowing a hierarchical layout of categories and assets.
INTERFACE
Constructors
- $obj = new Bric::Biz::Category($init);
- Create a new object of type Bric::Biz::Category Keys for CW$init are:
- *
- name The name for this category.
- *
- site_id The ID for the site this category is in.
- *
- description A description of this category
- *
- directory The directory name this category should be associated with. Throws: NONE Side Effects: NONE Notes: NONE Return an object given an ID or URI, both of which are unique across URIs. Throws:
- *
- Too many category objects found. Side Effects: NONE Notes: NONE
- @objs = list Bric::Biz::Category($crit);
- Return a list of category objects based on certain criteria Criteria keys:
- name
- directory
- uri
- active
- description
- parent_id
- grp_id
- site_id
- Throws: Method not implemented Side Effects: NONE Notes: This is the default list constructor which should be overrided in all derived classes even if it just calls 'die'.
Destructors
- $cat->DESTROY()
- Deletes the object. Throws: NONE. Side Effects: NONE. Notes: NONE.
Public Class Methods
Returns an anonymous hash of introspection data for this object. If called with a true argument, it will return an ordered list or anonymous array of introspection data. If a second true argument is passed instead of a first, then a list or anonymous array of introspection data will be returned for properties that uniquely identify an object (excluding CWid, which is assumed). Each hash key is the name of a property or attribute of the object. The value for a hash key is another anonymous hash containing the following keys:
- name
- The name of the property or attribute. Is the same as the hash key when an anonymous hash is returned.
- disp
- The display name of the property or attribute.
- get_meth
- A reference to the method that will retrieve the value of the property or attribute.
- get_args
- An anonymous array of arguments to pass to a call to get_meth in order to retrieve the value of the property or attribute.
- set_meth
- A reference to the method that will set the value of the property or attribute.
- set_args
- An anonymous array of arguments to pass to a call to set_meth in order to set the value of the property or attribute.
- type
- The type of value the property or attribute contains. There are only three types:
- short
- date
- blob
- len
- If the value is a 'short' value, this hash key contains the length of the field.
- search
- The property is searchable via the list() and list_ids() methods.
- req
- The property or attribute is required.
- props
- An anonymous hash of properties used to display the property or attribute. Possible keys include:
- type
- The display field type. Possible values are
- text
- textarea
- password
- hidden
- radio
- checkbox
- select
- length
- The Length, in letters, to display a text or password field.
- maxlength
- The maximum length of the property or value - usually defined by the SQL DDL.
- rows
- The number of rows to format in a textarea field.
- cols
- The number of columns to format in a textarea field.
- vals
- An anonymous hash of key/value pairs reprsenting the values and display names to use in a select list. Throws: NONE. Side Effects: NONE. Notes: NONE. Returns a list or anonymous array of Bric::Biz::Category object IDs based on the search criteria passed via an anonymous hash. The supported lookup keys are the same as those for CWlist(). Throws: NONE. Side Effects: NONE. Notes: NONE. Return the root category and the root category ID for a particular site. If called as an instance method the site or site ID is not necessary; that information will be pulled from CW$cat->get_site_id. Returns the category or category ID of the root category for this site. Throws:
- *
- Could not determine the site ID for the current site. Side Effects: NONE. Notes: NONE.
Public Instance Methods
Return all the parent category of this category Throws: NONE Side Effects: NONE Notes: NONE An alias for get_uri(). Throws: NONE Side Effects: NONE Notes: NONE Returns the list of ancestors for this category formatted into a URI. Throws: NONE Side Effects: NONE Notes: NONE Returns the list of ancestors for this category formatted into a localized directory structure. Throws: NONE Side Effects: NONE Notes: NONE Sets this category's directory. Throws: NONE Side Effects: Sets the _update_uri flag, which means that when the category's information is saved to the database, the URI field needs to be updated for itself and all its children. Notes: NONE Sets this category's parent ID, making it a child of that category. Throws: NONE Side Effects: Sets the _update_uri flag, which means that when the category's information is saved to the database, the URI field needs to be updated for itself and all its children. Notes: NONE Get/Set ad strings on this category. Throws: NONE Side Effects: NONE Notes: NONE Return the ID of this category. Throws: NONE Side Effects: NONE Notes: NONE Return the name of this category. Throws: NONE Side Effects: NONE Notes: NONE Sets the name of this category. Throws: NONE Side Effects: NONE Notes: NONE Return the site ID for this category. Throws: NONE Side Effects: NONE Notes: NONE Set the site ID for this category. Throws: NONE Side Effects: NONE Notes: NONE Returns the description of this category. Throws: NONE Side Effects: NONE Notes: NONE Sets the description of this category. Throws: NONE Side Effects: NONE Notes: NONE Get/Set attributes on this category. Throws: NONE Side Effects: NONE Notes: NONE Get/Set attribute metadata on this category. Throws: NONE Side Effects: NONE Notes: NONE Returns a list of keyword objects associated with this category. If passed a list of keyword IDs, it will return only those keyword objects. Throws: NONE Side Effects: NONE Notes: The old CWkeywords() method has been deprecated. Please use CWget_keywords(), instead. Returns the children of this category. Throws: NONE Side Effects: NONE Notes: NONE Returns the parent of this category or undef if it is a top level category. Throws: NONE Side Effects: NONE Notes: NONE Addes a category as a child of this category. Throws: NONE Side Effects: NONE Notes: NONE Associates a each of the keyword in a list or array reference of keywords with the category object. Throws: NONE. Side Effects: NONE Notes: The old CWadd_keyword() method has been deprecated. Please use CWadd_keywords(), instead. Dissociates a list or array reference of keyword objects or IDs from the category object. Throws: NONE. Side Effects: NONE Notes: The old CWdel_keyword() method has been deprecated. Please use CWdel_keywords(), instead. Return whether this is a root category or not Throws: NONE Side Effects: NONE Notes: NONE Get/Set the active flag. Throws: NONE Side Effects: NONE Notes: NONE Save this category Throws: NONE Side Effects: NONE Notes: NONE
Private Methods
NONE.
Private Class Methods
NONE
Private Instance Methods
Several that need documenting!
- _do_list
- _save_attr
- _load_grp
- _update_category
- _insert_category
- Returns the collection of keywords for this category. The collection is a Bric::Util::Coll::Keyword object. See that class and its parent, Bric::Util::Coll, for interface details. Throws:
- *
- Bric::_get() - Problems retrieving fields.
- *
- Unable to prepare SQL statement.
- *
- Unable to connect to database.
- *
- Unable to select column into arrayref.
- *
- Unable to execute SQL statement.
- *
- Unable to bind to columns to statement handle.
- *
- Unable to fetch row from statement handle.
- *
- Incorrect number of args to Bric::_set().
- *
- Bric::set() - Problems setting fields. Side Effects: NONE. Notes: NONE.
NOTES
NONE.
AUTHOR
Garth Webb <garth@perijove.com>
Jeff japhy Pinyan <japhy@pobox.com>
David Wheeler <david@wheeler.net>
SEE ALSO
perl, Bric::Util::Grp::Category, Bric, Bric::Biz::Keyword, Bric::Biz::Asset