Вы можете программно изменить тему с помощью пользовательского модуля
function MYMODULE_menu(){
$items = array();
$items['myendpoint/path/%'] = array(
'title' => 'Custom rendering page external',
'page callback' => 'custom_rendering_on_endpoint',
'page arguments' => array(2),
'access arguments' => array('access content'),
'type' => MENU_CALLBACK,
);
return $items;
}
function custom_rendering_on_endpoint($nid = null)
$node = node_load($nid);
$view = node_view($node, 'full');
print drupal_render($view);
}
function MYMODULE_custom_theme(){
$menu = menu_get_item();
if($menu['path'] == 'myendpoint/path/%'){
return "custom_theme_name";
}
return "default_theme_name";
}
Примечание: изменить page.tpl. php, чтобы удалить все области и детали, которые вы не хотите отображать в вашей пользовательской теме ( $ header, $ footer, et c ..)
Следует отметить, что тема, которую вы хотите активировать, должна быть сначала включена при admin / внешнем виде.
Документация: https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_custom_theme/7.x