I would like to have two different displays of a node teaser depending on where it is on the site.
Changing the .tpl of the block alone is not good enough because I need to have a separate imagecache image displayed.
Are there ways to have another display type added? Or change what fields a node display type recieves (ie: the imagecache image displayed)?
As others have pointed out, it’s a little unclear what you’re doing, but it sounds like your using a node view to create a block and then using the block template to markup the contents of the block. The key contents of such a block will be generated by the node template. The default node template determines its markup based on a $teaser variable set to TRUE or FALSE. The value of $teaser is based on the full node/teaser distinction in views. That’s obviously a boolean variable, so there’s no third option. So the answer to your specific question is no, you can’t do that.
That said, you can accomplish the goal of 3 (or more) different displays by introducing your own variables in template_preprocess_node based on context indicators such as arg() or $view->name, and then using those variables in your own node template (or more likely node type template) to control output markup. You can then apply different imagecache presets by calling the imagecache theme function, something like:
That’s a lot to learn if this is all new to you, hopefully not too overwhelming.