Я не могу показать сообщение об отказе в доступе модуля премиум-контента. Как я могу это сделать?
У меня есть 3 режима просмотра (тизер, презентация и режим полного просмотра). Я создал node--content-type.tpl.php
и создал код для каждого режима просмотра с помощью условного оператора
if($teaser) {}
else if($node->type == 'tu_mooc' && $view_mode == 'presentation') {}
else {}
Я связал 3 режима просмотра. Таким образом, я могу перейти от тизера к презентации и от презентации к режиму полного просмотра.
Я загрузил модуль премиум-контента, чтобы доступ к режиму полного просмотра был ограничен аутентифицированными пользователями. Я внес небольшое изменение в premium.module
чтобы анонимные пользователи имели доступ как к режиму просмотра тизера, так и к режиму просмотра презентации. Проблема, с которой я сталкиваюсь, заключается в том, что когда я пытаюсь получить доступ к режиму полного просмотра (как анонимный пользователь) Я не получаю сообщение об отказе в доступе. Вместо этого я получаю код, который отображается в режиме просмотра тизера. т.Е. В узле/1 я получаю тизер узла 1 вместо сообщения об отказе в доступе.
Нужно ли мне включать какой-то код, например <?php print $denied_message; ?>
, в node--content-type.tpl.php?
или что мне нужно сделать?
Спасибо в продвижение.
1 answers
Я включил этот код в тизер в node--content-type.tpl.php :
<?php print $content['body'][0]['#markup']; ?>
И я включил этот код в template.php :
function mimooc_premium_body($arguments) {
$node = $arguments['node'];
node_build_content($node, 'teaser');
unset($node->content['links']);
$level = premium_level_load($node->premium);
if ($level->denied_message) {
$denied_message = $level->denied_message;
$denied_message_format = $level->denied_message_format;
}
else {
$denied_message = variable_get('premium_message', t('Full text available to premium subscribers only.'));
$denied_message_format = variable_get('premium_format');
}
// Only display the premium message, if we actual have any content.
if (!empty($node->content)) {
return '<div class="premium-message"><h3>' . check_markup($denied_message, $denied_message_format) . '</h3><p>' . l('Click here to sign in', 'user') . '</p></div>';
}
}
Теперь, когда я получаю доступ к режиму полного просмотра узла, я получаю тизер этого узла с сообщением об отказе в доступе.