[support] Solved: Re: refer/retrieve/save grandparent in child node without parent's node load
Benjamin Jacob
ben4asterisk at yahoo.com
Tue Apr 5 18:42:21 UTC 2011
Hi,
I worked around this issue. Thankfully I have to only display grandparent's info and not manipulate it.
So for this issue, Views comes to the rescue.
. created a View block with filter as Node Type B
. Added View argument as Node ID(s) which must be of type B
. Added Fields for output of B's title and also B containing A's ref (and hence A's title too).
Now in C's tpl.php, I embed this view using:
e.g.
$Bnids = "100+101+203"; // multiple nids
print views_embed_view("B_to_A_view_display", "block_1", $Bnids);
And voila, I get a nice table of the required fields in C.
Love drupal.. and every day I discover new ways of using Views.
As they say, I'm loving it!!
cheers
- Ben
--- On Thu, 3/17/11, Benjamin Jacob <ben4asterisk at yahoo.com> wrote:
> From: Benjamin Jacob <ben4asterisk at yahoo.com>
> Subject: Re: [support] refer/retrieve/save grandparent in child node without parent's node load
> To: support at drupal.org
> Date: Thursday, March 17, 2011, 3:03 PM
>
> That looks like some work :-)
>
> Thanks Ted. Will try it out.
>
>
> --- On Tue, 3/15/11, Ted <ted-drupalists at webfirst.com>
> wrote:
>
> > From: Ted <ted-drupalists at webfirst.com>
> > Subject: Re: [support] refer/retrieve/save grandparent
> in child node without parent's node load
> > To: support at drupal.org
> > Date: Tuesday, March 15, 2011, 5:09 PM
> >
> > The answer to resource intensive processes is usually
> > caching of some
> > kind. For your case, you might consider using the
> > computed_field module
> > to add a "ref_a" field on C, which gets stored in the
> > content_type_C
> > table. By default, this field is only updated when a C
> is
> > saved. If your
> > workflow requires it, you can use Node API or Rules
> to
> > update the
> > appropriate C nodes whenever a B (or A) node is
> updated,
> > basically
> > performing node_save(node_load($nodeid_of_c)).
> >
> > Ted
> >
> > On 3/15/2011 12:16 PM, Benjamin Jacob wrote:
> > > Couldn't think of an easier subject line :-)
> > >
> > >
> > > I have three node types
> > > A -> B -> C
> > > A<- B<- C
> > >
> > > where A refers B and B refers C (and there's CNR
> for
> > backwards).
> > >
> > > Now when displaying content from C, i would want
> to
> > display A's titles (atleast). Is there a way where I
> can
> > refer A as well in C because of the reference to B?
> > > This so that while displaying C, I don't have to
> load
> > B's entire content and then retrieve A.
> > > C can have unlimited number of references to B.
> So
> > loading B within C is not such a good idea.
> > >
> > > I hope you are not at c when reading this :-)
> > >
> > > All help really appreciated.
> > >
> > > Regards
> > > - Ben
> > >
> > >
> > >
> > >
> > >
> >
> > --
> > [ Drupal support list | http://lists.drupal.org/ ]
> >
>
>
>
> --
> [ Drupal support list | http://lists.drupal.org/ ]
>
More information about the support
mailing list