I am using the above modules to create a system where each node is identified by a title and picture. The title and picture are shown in a teaser, and the teasers are indexed on a page allowing someone to identify a node by the title or image.
I'm using the development versions of imagefield and imagecache for the feature that allows different imagecache profiles in the teaser and body so that the teaser view has a smaller picture and body has full picture.
I'm also using contemplate to remove all node fields except title and picture for the teaser display.
Problem is, when i edit the teaser display in contemplate, it caused the body and teaser BOTH to use the "teaser" imagecache profile, so I get a small picture in the body.
After some poking around, I solved the problem.
The function imagefield_field, case 'view', determines whether to output using the teaser or body profile, so contemplate should be calling this function once for the body and once for the teaser, with teaser=0, page=1 for body and teaser=1,page=0 for the teaser.
However, contemplate is calling imagefield_field with teaser=1 always
(it seems that it calls it four times, twice with teaser=0 and once with teaser=1, but I don't know enough about the code/ couldn't trace the function calls well enough to understand what the other calls are for)
The problem is that imagefield_field ONLY checks if 'teaser' is set, not if 'page' is set.