I am using the Event Calendar with 4 different flexinode types :
flexinode-1 = "event calendar"
flexinode-2 = "curriculum calendar"
flexinode-3 = "research calendar"
flexinode-4 = "rider board"

I have associated a different vocabulary for each flexinode, entitled
"event categories"
"curricula categories"
"research groups," and
"travel direction",
respectively.

I would like to have a link from the main menu to view each one of these calendars separately (i.e. a link for event cal, a different link for curriculum cal, etc). How can I do this?

One additional thing, why is it that when I select a type such as "research calendar" from within the calendar view, all of my taxonomy terms show up in the "terms to filter by" when I know the terms for "rider board" are not associated with the type "research calendar"?

Comments

rubenk’s picture

If you are having trouble even changing the display of your calendar from type to type, look here:
http://drupal.org/node/52883

kloomis’s picture

1. create a vocab in taxonomy for your calendars.
2. Assocuate this vocab with events
3. add terms for the calendars you want.
4. When creating events put them in the type of calendar you want.
5. Create a menu item for each calendar using event/term/id for the path
where id is the number of the taxonomy term (discovered by hovering your mouse over the term and
seeing its number in the status bar).

HTH

Ken

rubenk’s picture

I see. the only challenge this provides is that i want subterms within each term that Would represent each calendar. under the term ride board I'd want terms N. S. E. W. Would I use a hierarchical taxonomy in this case?Still seems rather silly that the installation instructions say to make a flexinode for each calendar.

venkat-rk’s picture

...why is it that when I select a type such as "research calendar" from within the calendar view, all of my taxonomy terms show up in the "terms to filter by" when I know the terms for "rider board" are not associated with the type "research calendar"?

That's because event module's taxonomy filter control displays terms globally instead of a per event type. It doesn't mean that 'rider board' is *actually* associated with 'reasearch calendar'. Check if your event types are also enabled in the other vocabularies whose terms are showing up.

Regarding menu links to specific calendars, the event.module help text details a better way to manually build calendars based on either the event types or taxonomy terms. You can then alias those urls and add the aliased urls to the menu to display it the way you want. Here is the relevant part of the help text (available at www.yoursite.com/admin/help/event). Please note that this is for 4.6:

Node types can be assigned to general calendar views, or only on their own calendar. For example, this makes it possible to have a general calendar which shows all 'meetups' and 'house parties' in the same place, but perhaps have a separate calendar for 'rallies' which only contains that type. The ability to filter calendar views by node type and taxonomy is also implemented, which allows many different possibilities for displaying content in the calendar system

Calendar display url formats
The ability to filter calendar views by content type and taxonomy enables almost unlimited possibilities for displaying content with the calendar system. You can combine taxonomy and content type filters, the url construction scheme is currently as follows:

?q=event/$year/$month/$day/$view_type/$content_type/$taxonomy_terms/$duration

$year: year value such as '2005'
$month: month value with leading zeroes such as '02' for february
$day: day value with leading zeroes such as '14'
$view_type: type of calendar layout, values may include 'month', 'week', 'day', 'table', 'ical' for an ical export, and 'feed' for an rss feed.
$content_type: list of node types, separated by '+'. Flexinode types only require the integer value of the type. For example, to view story nodes and type flexinode-1, you would use 'story+1'. The value 'all' will show all types.
$taxonomy_terms: list of term ids, seperated by '+'. For example to view entries assigned to the taxonomy terms with ids 4 and 9 you would use '4+9'. The value 'all' will show all terms.
$duration: number of days to display, currently only the table view obeys this setting. Eventually it may be used to specify additional duration parameters such as multiple weeks in the week view, or months in the month view.

There are url wrapper functions as well, which make it possible to easily create menu items to calendars by event type or taxonomy terms. This is necessary if you wish to create a link to a calendar but do not have a way to dynamically create the url based on the date, like in the menu or in a post.

For links to a taxonomy filtered calendar the format is:

?q=event/term/$taxonomy_terms

$taxonomy_terms: list of term ids, seperated by '+'. For example to view entries assigned to the taxonomy terms with ids 4 and 9 you would use '4+9'

For links to a content type filtered calendar the format is:

?q=event/type/$content_type

$content_type: list of node types, separated by '+'. Flexinode types only require the integer value of the type. For example, to view story nodes and type flexinode-1, you would use 'story+1'

rubenk’s picture

that was the most helpful post!
Thank you

venkat-rk’s picture

:-)

rubenk’s picture

One last thing... i have decided to customize event to only show me the raxonomy for the selected type. i got into the code but am not producing the desired results. can you take a quick has at my code? start at if ($curtype == 'all') . i think i am using $curtype incorrectly

/**
* Returns a dropdown event taxonomy term input control.
*
* @ingroup event_support.
* @param $curterm The current term id.
* @param $submit Adds 'onChange' form submit javascript command to control.
* @return A form with a dropdown event taxonomy term input control.
*/
function _event_get_taxonomy_control($curterm = NULL, $autosubmit = TRUE) {
  if (module_exist('taxonomy')) {
    $types = event_get_types();
    $vs = array();
      if ($curtype == 'all')  {
        foreach ($types['all'] as $type) {
          $results = taxonomy_get_vocabularies($type);
          foreach ($results as $vocab) {
            $vs[$vocab->vid] = $vocab;
          }
        }
        $results = null;

        $items['all'] = t('(all)');
        foreach ($vs as $vid => $vocab) {
          $tree = taxonomy_get_tree($vid);
          foreach ($tree as $term) {
            $items[$term->tid] = $vocab->name.' - '.$term->name;
          }
        }
      }
      else  { 
        $results = taxonomy_get_vocabularies($curtype);
        foreach ($results as $vocab) {
          $vs[$vocab->vid] = $vocab;
        }
 
        $results = null;

        $items['all'] = t('(all)');
        foreach ($vs as $vid => $vocab) {
          $tree = taxonomy_get_tree($vid);
          foreach ($tree as $term) {
            $items[$term->tid] = $vocab->name.' - '.$term->name;
          }
        }
       } 
    

    $form['event_term_select'] = array(
      '#type' => 'select',
      '#default_value' => $curterm,
      '#options' => $items,
      '#description' => t('Select event terms to filter by'));
    if ($autosubmit) {
      $form['event_term_select']['#attributes'] = array('onChange'=>'this.form.submit()');
    }

    $form = drupal_get_form('event_taxonomy_filter', $form);

    return theme('event_filter_control', $form);
  }
}

/**
* Returns a dropdown event-enabled content type input control.
*
* @ingroup event_support.
* @param $tid The current term id.
venkat-rk’s picture

Sorry for the late reply. Unfortunately, my expertise ends where code begins:(

Hope someone else will step in to help you.

Amadeus123’s picture

Hi, I have a similar problem.

I am working with Categories instead of Taxonomies or Books. I have 3 flexinode content types :

Department1 Calendar
Department2 Calendar
Department3 Calendar

I tried making each a category under my main navigation container. I linked them to the corresponding event_types pages. But each time I click on the link it takes me to the login page(anonymous user) and shows me the events. It hasn't logged me out since any other menu item takes me back as admin.

Is there some other way to make sure that Events is shown as a menu item and not as a global display?