Відповіді:
Спеціальна сторінка із забороненим доступом може бути визначена в розділі / admin / config / system / site-information. Наприклад, одна загальна сторінка 404 помилок надається модулем Search404 .
Все, що вам потрібно зробити, - це визначити власну сторінку, можливо, за допомогою тизера на запитуваній сторінці та повідомити користувача про те, що для доступу до повного вмісту потрібно ввійти в систему.
Можливо, це зажадає, якщо ви введете якийсь php-код у тіло сторінки, або ви можете використовувати модуль Search404 як основу для розробки власного модуля для цього.
Редагувати: Чим більше я думаю про це, тим цікавішим стає питання. Я думаю, що може бути зроблено дозвіл на "Перегляд Teaser" на додаток до "Переглянути опублікований вміст". Іншими словами, сторінка може бути доступною для всіх користувачів, але тизер відображатиметься замість повного вмісту, і може відображатися повідомлення про те, що користувач повинен був увійти в систему, щоб переглянути повний вміст, як це робиться для коментарі зараз. Можливо, ідея для внесеної моделі (не вдалося знайти її в DO).
Я думаю, ви можете використовувати сторінку - 403.tpl.php та сторінку - 404.tpl.php та код у template.php через
function THEMENAME_preprocess_page(&$variables) {
$status = drupal_get_http_header("status");
if($status == '403 Forbidden') {
$variables['theme_hook_suggestions'][] = 'page__403';
}
if($status == '404 Not Found') {
$variables['theme_hook_suggestions'][] = 'page__404';
}
}
Я використовую для цього модуль користувацької помилки .
Щоб отримати переадресацію на початково запитувану сторінку після 403 для роботи, я створив цей виправлення .
Ось два приклади мого використання модуля: