You could check either for a path alias fragment or the node ID in a node preprocess function and then unset the whole content like following.
Ensure to replace MYTHEME/MYMODULE with your custom (sub-)theme's or custom module's machine name.
To be placed in either your custom (sub-)theme's template.php
file (D7) or MYTHEME.theme
file (D8) or in a custom module's MYMODULE.module
file (D7 & D8).
/**
* Implements template_preprocess_node.
*/
function MYTHEME/MYMODULE_preprocess_node(&$variables) {
// Check for node type.
if ($variables['node']->getType() == 'artist') {
$current_path = \Drupal::service('path.current')->getPath();
$current_alias = \Drupal::service('path.alias_manager')->getAliasByPath($current_path);
$alias_args = explode('/', $current_alias);
// 1. Unset content per path alias.
if ((isset($alias_args[0]) && $alias_args[0] == 'details')
&& (isset($alias_args[1]) && $alias_args[1] == 'michael-jackson')) {
unset($variables['content']);
}
// 2. Or unset content by node ID.
if ($variables['node']->id() == '123') {
unset($variables['content']);
}
}
}
You could also use simple CSS.
#node-123 .field-name-body { display: none; }