В конце концов я сделал это немного по-другому, создав таксономию для «открытого» или «ограниченного» контента, и поместил это в заголовок моей темы:
<?php
global $user;
//if the user is not logged in, and the node is in taxonomy term "restricted"
//redirect them to the login page
foreach ($node->taxonomy as $tax){
if ($tax->name == "Restricted" && !$user->uid){
$query = 'destination=node/'.$node->nid;
drupal_goto('please-login-continue',$query);
}
}
?>
/ please-login - это страница, которую я создал, которая содержит все обычные формы входа / регистрации. Кажется, до сих пор у меня все нормально работало!
Примечание: Если люди намеренно отключают перенаправление в своем браузере, они не будут перенаправлены, однако, когда я попытался в Opera с перенаправлением, отключил страницу, загруженную до точки, где пыталось перенаправить и затем ничего после этого - так что содержание в этом случае все еще ограничено.