Index: modules/views_node.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views/modules/Attic/views_node.inc,v retrieving revision 1.30.2.21 diff -u -p -r1.30.2.21 views_node.inc --- modules/views_node.inc 10 May 2008 20:17:00 -0000 1.30.2.21 +++ modules/views_node.inc 26 May 2008 17:20:07 -0000 @@ -69,7 +69,9 @@ function node_views_tables() { 'name' => t('Node: Body'), 'handler' => array( 'views_handler_field_body' => t('Full Text'), - 'views_handler_field_teaser' => t('Teaser') + 'views_handler_field_teaser' => t('Teaser'), + 'views_handler_field_body_plain' => t('Full Text (only Body)'), + 'views_handler_field_teaser_plain' => t('Teaser (only Body)'), ), 'addlfields' => array('nid'), 'notafield' => TRUE, @@ -441,7 +443,7 @@ function views_handler_nodetype($fieldin function views_handler_field_body($fieldinfo, $fielddata, $value, $data) { $node = node_load($data->nid); - if ($fielddata['handler'] == 'views_handler_field_body') { + if ($fielddata['handler'] == 'views_handler_field_body' || $fielddata['handler'] == 'views_handler_field_body_plain') { $teaser = FALSE; } else { @@ -463,7 +465,12 @@ function views_handler_field_body($field // Set the proper node part, then unset unused $node part so that a bad // theme can not open a security hole. - $content = drupal_render($node->content); + if (strpos($fielddata['handler'], '_plain') > 0) { + $content = drupal_render($node->content['body']); + } + else { + $content = drupal_render($node->content); + } if ($teaser) { $node->teaser = $content; unset($node->body); @@ -486,6 +493,20 @@ function views_handler_field_teaser($fie return views_handler_field_body($fieldinfo, $fielddata, $value, $data); } +/** + * Format a field as the plain Body of a node. + */ +function views_handler_field_body_plain($fieldinfo, $fielddata, $value, $data) { + return views_handler_field_body($fieldinfo, $fielddata, $value, $data); +} + +/* + * Format a field as the plain Teaser of a node. + */ +function views_handler_field_teaser_plain($fieldinfo, $fielddata, $value, $data) { + return views_handler_field_body($fieldinfo, $fielddata, $value, $data); +} + /* * Handle the node type argument. */