<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/3.28.0">
</HEAD>
<BODY>
<BR>
Hi Adam<BR>
Have you tried<BR>
$data['term_node']['tid_purpose'] = array(<BR>
'real field' => 'tid',<BR>
....<BR>
<BR>
This tops the
<BLOCKQUOTE TYPE=CITE>
<PRE>
'group' => t('Taxonomy'),
'title' => t('Term ID by Purpose'),
'help' => t('The taxonomy term id, restricted by vocabulary purpose.'),
'filter' => array(
'handler' => 'og_vocab_purpose_handler_filter_term_node_tid',
'hierarchy ta
</PRE>
</BLOCKQUOTE>
<BR>
<BR>
On Thu, 2010-07-15 at 19:49 -0700, Adam B. Ross wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
I am trying to dive into Views Plugin writing, and I suspect I've hit
a deep end.
I'm working on a module which builds on OG Vocabularies, with the aim
of being able to assign a given group vocabulary to a particular
purpose for that group. For example, you could define a "Waterfall"
group vocabulary as a project management field for the group, and in a
different group, use an "Agile" group vocabulary.
As part of my use case, I need to be able to create an Exposed Filter
that will make use of whichever group Vocabulary is assigned to the
Purpose configured in the View itself. I am having trouble wrapping my
head around how to do this.
Using the Taxonomy TID filter, you can select a vocabulary and an
interface widget. I want to select a Purpose and an interface widget,
have it do nothing except as an exposed filter, and then a View
displayed in a given group will route it's widget to the configured
vocabulary.
(Still working out how to describe this functionality.)
At this point, I'm defining my handler like so:
function og_vocab_purpose_views_data_alter(&$data) {
// This handler is dependent on Spaces OG.
if (!module_exists('spaces_og')) {
return array();
}
$data['term_node']['tid_purpose'] = array(
'group' => t('Taxonomy'),
'title' => t('Term ID by Purpose'),
'help' => t('The taxonomy term id, restricted by vocabulary purpose.'),
'filter' => array(
'handler' => 'og_vocab_purpose_handler_filter_term_node_tid',
'hierarchy table' => 'term_hierarchy',
'numeric' => TRUE,
'skip base' => 'term_data',
'allow empty' => TRUE,
),
);
}
But of course, it then tries to use tid_purpose as an actual field.
Can't use "tid" as that's already taken...
Any pointers on an approach, documentation, or modules with similar
functionality would be greatly appreciated.
</PRE>
</BLOCKQUOTE>
<BR>
</BODY>
</HTML>