If you are like me, you've been pulling your hair out trying to make teasers work in CCK. Well, as it so happens, I figured out a crazy simple phptemplate method of making CCK body fields act like any other node's body. Observe:
Template.php
<?php
function _phptemplate_variables($hook, $vars) {
global $user;
switch ($hook) {
case 'node':
if ($vars['field_body'][0]['value']) {
/* Believe it or not, all you have to do is pass the field through
the existing node.module function node_teaser()! */
$vars['cck_teaser'] = node_teaser($vars['field_body'][0]['value'], $format = NULL);
}
break;
}
return $vars;
}
?>
Drop this in the appropriate node.tpl.php file:
<?php
//for teasers
if ($page == 0) {
print $cck_teaser;
}
//for fullpages
else {
print $node->field_body[0]['value'];?>
}
?>