Sunday, November 1st, 2009 (updated 16 Jun ’10)

Tied Entries v1.3 ($20 per installation)

Username

Password

Forgot your password?

Register

Elsewhere...

Another excellent piece by Andy Rutledge, an admonition/checklist for being a professional designer/developer.

Both the BBC and Fox news web sites have recently been redesigned, with the BBC losing its looks and Fox getting neat and serious.

jQuery diagramming with jsPlumb — cool.

Another wonderful blog post by Walter Russell Mead, this time hoping that the blogosphere find a not-so-distant mirror in 18th-century London.

Google argues that its mobile YouTube site is better than its YouTube iPhone app.

Jakob Nielsen tests reading usability on the iPad and Kindle and reports that they’re almost as good as reading on paper. People didn’t like reading on PCs — it reminded them of work.

Falling out of love with the iPad. None of this surprises me.

Wow, icons made entirely in CSS3 (currently Safari, Chrome only).

Short film created entirely on the iPhone 4.

A day in the early life of an iPhone 4.

From the start, one of the big attractions of ExpressionEngine has been the ability to add unlimited custom fields to an unlimited variety of weblogs (weblogs = channels in EE v2). It’s vital to be able to relate these various weblogs to each other, and this is done with relationship fields — and extended by a couple of 3rd-party add-ons, such as the beloved Playa and Solspace’s Related Entries.

But even with these add-ons, the power of relationship fields has been stymied by the limited way they can be displayed on EE templates; while a weblog’s related entries can be displayed, those related in turn to its related entries cannot; that is, neither the related_entries nor the reverse_related_entries tag can be nested.

Tied Entries overcomes this limitation, enabling unlimited traversal across a site’s various weblogs via their relationship fields. It’s like having a fully relational database for your weblogs/channels.

While there are other ways for the undeterred EE developer to achieve this here and there in templates, either with direct MySQL queries or with a series of embedded templates, the Tied Entries plugin is more powerful than the former and more flexible and less resource-consuming than the latter. Plus it’s much easier.

The plugin can also be used as a substitute for the standard related_entries and reverse_related tags when displaying entries just one relationship away because, unlike those tags, results can be filtered by categories and custom fields. It also partially supports the the Playa extension (currently recognizing Playa fields in reverse relationships only).

The download file contains two versions of the plugin, one for EEv1.x and one for EEv2.x.

Tue 3 Nov ’09
10:27pm

Mark Bowen

Have only played with this plugin for a very short amount of time so haven’t totally gotten my head around it yet but from the example given this looks to be an exceptionally powerful plugin.

Thanks for sharing this one. Nice to be number one for a change too!! :-)

Best wishes,

Mark

Wed 4 Nov ’09
10:41am

Adam Khan

Cheers, Mark—if it helps you does that mean I get a helicopter ride?

Wed 4 Nov ’09
10:47am

Mark Bowen

Erm I think I’ll have to pass on that one I’m afraid. The cost of a ride is quite a bit I’m afraid. :-)

Wed 4 Nov ’09
10:52am

Adam Khan

Fair enough. I’m not sure what you’re doing fiddling around with computers when you could be flying a helicopter. Or maybe you’re fiddling around with a computer while you’re flying a helicopter…

Wed 4 Nov ’09
11:14am

Mark Bowen

Fiddling with a computer whilst flying would be something rather amazing. You can’t let go of anything whilst flying helicopters. With planes you can but not helicopters or you’ll come a complete cropper! ;-)

Mon 14 Dec ’09
8:19pm

Terry Evans

This is a fantastic plugin.

Feature requests/questions:
1) is it possible to use the weblog search:custom_field paramater?  Right now in order to filter reverse related entries is to use an embedded template.
2) is it possible to use conditionals within the tied entries loop on tied:custom_field data?

Great work!

Mon 14 Dec ’09
9:06pm

Adam Khan

Hi Terry, question (1), right now it isn’t but I’ll put that on the roadmap—shouldn’t be too difficult. Re question (2), yes, it works, but put the variables in the conditionals within quotation marks and squiggly brackets. See the second example where it’s used to create the ul and /ul tags. In that example the variables used are the count and total_results, but custom fields work as well.

Mon 14 Dec ’09
10:05pm

Adam Khan

Terry, I’ve added support for searching custom fields as parameters in the tag. See the new version, 1.0.8.

Tue 15 Dec ’09
4:03pm

Terry Evans

Great addition - thanks Adam!  I can definitely use this plugin now.

Tue 15 Dec ’09
4:18pm

Adam Khan

Pleased to hear it, Terry.

When I say it’s not difficult that’s because the EE-native build_sql_query() function already does the work. That function helps hugely in letting plug-ins replicate the functionality of the weblog:entries tag (Paul Burdick had it as a slide at his EECI2009 presentation). Though it’s not very well documented so far as I have found, so it’s been a case of studying the EE code itself.

Wed 16 Dec ’09
5:21am

Nick

Does this extension work with Playa? If one has relationships set using Playa, would tied entries be able to bring these together?

Wed 16 Dec ’09
8:13am

Adam Khan

Nic, I haven’t tested it yet against Playa. That’s on the roadmap of things to do though (last section of the docs).

Mon 18 Jan ’10
4:40pm

Terry Evans

@mark ewans - you spammer!

Sun 31 Jan ’10
5:13am

sm9

Hi Adam,

One of the (many!) ways I’m hoping to use this plugin is to filter the output of weblog entries according to the entry ID of a related entry.

I have two weblogs, Candidates and Employers.  The Candidate weblog contains the relationship field (cf-candidate-employer), which links to the Employers weblog.  At the moment, I have a weblog entries tag for the Candidate weblog and it outputs all my candidate entries on a page, regardless of who the Employer is.

Can I use this plugin to filter these results based on the entry_id of an entry in the Employer weblog?  I’d be specifying this using a URL segment.  If so, how would I go about doing this?

Thanks,

Stephen

Sun 31 Jan ’10
12:50pm

Adam Khan

Stephen,

You can list all of an Employer’s Candidates even without the plugin using the 1st-party reverse_related_entries tag (with the weblog parameter as candidates) nested within the weblog:entries tag (with the weblog parameter as employers).

Sun 31 Jan ’10
4:17pm

sm9

Thanks for that Adam - that was just an easy one to get you warmed up with! ;-)

Wed 24 Feb ’10
4:39am

Michael Rubens

can the tied entries results be paginated?

Wed 24 Feb ’10
9:29am

Adam Khan

Michael, sorry, no pagination. I’ve been doing pagination client-side lately if that helps. See http://projects.allmarkedup.com/jquery_evtpaginate/index.php

Sat 27 Feb ’10
6:35pm

Michael

Thanks Adam, I’ll give that a look. One additional question. Any reason why I’m not able to get the {exp:char_limit} or {exp:word_limit} plugins to work with tied entries?

I’ve not tested extensively but in the two situations I’ve tried to use word limiting the tags are simply ignored. They don’t interfere but the functionality they promise is not delivered.

Sat 27 Feb ’10
8:37pm

Adam Khan

Michael, this is presuming you have parse=“inward” as a parameter in the outermost plugin? Have you tried reversing the nesting, ie, placing the Tied Entries plugin within the char_limit or word_limit one? Also, try the http://expressionengine.com/downloads/details/trunchtml/ plugin as well.

Mon 8 Mar ’10
7:15pm

Michael

Adam, another question - are embed variables supported and if so, what is the syntax for them?

E.g. Say I have a template I’m embedding to which I’m passing the entry_id of the parent entry being viewed for my weblog - news.

Within the embedded template I’m using the tied entries plugin to produce a list of related entries.  The tied entries tag sits within a weblog tag pair that is triggered by a url_segment relating to the “country” and it “ties” back to my “news” weblog - you’re head hurt yet?

The goal is to produce a list of “other/more” news from the “country”. However, I need to eliminate the parent entry from the list.

With reverse related tags I’m testing for the embedded entry_id and not viewing it - {if entry_id != “{embed:entry}”} show my entries {/if}

or maybe/better yet, there is a parameter that supports eliminating an entry from the tied entries list?

I hope this makes sense…

Mon 8 Mar ’10
8:54pm

Franco

Michael,  I’ve added to the Roadmap the changing of the entry_id, url_title and weblog parameters to this_entryid, this_urltitle and this_weblog so as to free up the entry_id, url_title and weblog parameters as filters like you need. I’ve done this on other plugins, haven’t done it here yet.

In the meantime, you should be able to do it in Tied Entries within an if statement like you’re doing with reverse related tags, ie:

{if “{tied:entry_id}” != “{embed:entry}”}

Tue 9 Mar ’10
2:51am

Michael

Great.  Another quick question - I’ve tried several different possible syntax combination’s and so for none have worked, is it possible to use the {if no_results} tag? I’ve also tried evaluation for a {tied:count} less than 1 or equal to 0. No luck.

Tue 9 Mar ’10
7:23am

Adam Khan

Michael,

When doing if statements, remember you need to put the entire value within quotation marks, so it’s got to be {if “{tied:count}” < “1”) not {if tied:count < “1”). Still not working?

I’ve not tested the {if no_results} tag but I doubt that it works within the plugin.

Maybe email me the entire template(s) at .(JavaScript must be enabled to view this email address) and I’ll take a look?

Tue 9 Mar ’10
2:32pm

Michael

Thanks, I have most of my conditionals functioning but the {if “{tied:count}” < “1”) alternative to {if no_results} does not work.

My solution, though not always that simple to implement, has been to revert back to using the query module to pull in these results. The added benefit, beyond offering the {if no_results} tag is that it also, at least in this case, allows pagination to function.

When I have a moment later today I’ll drop my template into a txt doc and send your way to give you a look at what I’m doing.

I do appreciate you taking the time to assist.

Regards!

Wed 10 Mar ’10
5:19pm

Deron Sizemore

This is the first I’ve heard of this plugin. Wish I had heard of it sooner as I think could really help out on LogoGala where I’m doing some complete related entries stuff. Going to give it a go and hope it works as this section of the site has not worked 100% correct since launch. :)

Wed 10 Mar ’10
7:03pm

Adam Khan

Logogala, nice—post here if you have any questions or problems when trying the plugin.

Wed 5 May ’10
2:08am

Luther

Adam,

Love Tied Entries, we use it like crazy! We just upgraded a development server to EE PB 2.0.2 build 20100415 and v1.1.1 does not appear to be compatible with it. We received the error below. Because we are so dependent on your plugin we are frozen at our current version 2.0.1 and build. Have you encountered this error yet? Do you have a timeline for updating Tied Entries to work with version 2.0.2?

Thanks for all the hard work!!


————-

A PHP Error was encountered
Severity: Notice
Message: Undefined property: EE::$DB
Filename: tied_entries/pi.tied_entries.php
Line Number: 47

Fatal error: Call to a member function escape_str() on a non-object in /mnt/target03/361603/414125/www1.fasigtipton.com/web/content/5y5t3m/expressionengine/third_party/tied_entries/pi.tied_entries.php on line 47

————

Wed 5 May ’10
3:01am

Luther

Adam,

After looking at the error I realized it was very basic and replaced all references to $this->EE->DB with lowercase “db” and that took care of the first small errror. However I think now I got to the root of the issue with version 2.0.2 compatibility. It appears they may have slightly modified the Channel class which you use.  Here is the new error that I am receiving after fixing the “DB” issue. Hopefully this helps pinpoint the issue quicker. This error is from v1.1.1 but I also checked v1.0.9 and it has the same issue (but not the capital “DB” reference since that looks like it was added in v.1.1.1).

Thanks again!!

———-

A PHP Error was encountered
Severity: Notice
Message: Undefined property: Channel::$query
Filename: tied_entries/pi.tied_entries.php
Line Number: 551

Fatal error: Call to a member function result_array() on a non-object in /mnt/target03/361603/414125/www1.fasigtipton.com/web/content/5y5t3m/expressionengine/third_party/tied_entries/pi.tied_entries.php on line 551

Wed 5 May ’10
7:13am

Adam Khan

Luther, great to hear you’re using the plugin extensively. I’ve had to make an unscheduled trip and am now back and catching up. I’ll fix this problem today.

Thu 6 May ’10
2:03pm

Luther

Adam, have you had a chance to look any further into the issue with Tied Entries and EE PB 2.02? Any timeframe for a new build that fixes the issue?

Thanks!

Luther

Thu 6 May ’10
4:15pm

Adam Khan

Luther, my apologies, I wasn’t able to get to it yesterday, nor today yet, but I will in the next couple of hours. Still catching up.

Post a comment

Name:

Email:

Location:

URL:

Your comment:

Remember my personal information
Notify me of follow-up comments?

Please enter the word you see in the image below:

What is the sum of 3 and 8? (2 character(s) required)