If node A is embedded in node B, the first time node B is loaded it will embed A into the body text, and then cache this end result. After this, there is no need to re-render node A when calling node B, and so it is simply retrieved from cache.

However, the problem comes when node A has pre-processors that need to be called every time node B is loaded. For instance, the OP slideshow / jcarousel modules, require the jcarousel javascript and css files to be added onto the page. However, if the pre-processors aren't called the second time, then theme() is never called for node A and subsequently jcarousel_add in jcarousel.module is never called, which is in charge of doing drupal_add_js and drupal_add_css to get the slideshow to work.

The cached portion of the script seems fine--the body text is correct and shouldn't change. But the nodes pre-processors should be added to the array that spins through them all.

Comments

emackn’s picture

This is definitely on our radar. hook_filter caching is the culprit.

If you have any suggestions it would be great to hear them.

ksweet’s picture

I'm afraid I don't know enough to about drupal to be of too much help yet.

Another issue that I think is probably related is that embedding a node requires a cache clear before it looks correct. Here's a sample screenshot creating a slideshow and embedding it in a new node:

http://img340.imageshack.us/img340/7996/brokennodeembed.png

Clearing cache fixes this and it'll never look like this again. I haven't tried to figure out what the problem of this is though. Basically it looks like it's never rendered with node-slideshow.tpl.php.

mrharolda’s picture

Issue summary: View changes
Status: Active » Closed (won't fix)

As of 22 September 2014, we no longer support the Drupal 6 version of Node Embed due to the small install base (< 15%) and more importantly: general lack of time.

If you would like to help and maintain the 6.x branch until Drupal 8 is released, please apply for co-maintainership!