Привет, народ.
Задача сделать загрузку файла пристегнутого к ноде только для определенной роли, анонимам и др. показать только возможность скачать с предложением авторизоваться при нажатии на ссыль.
Ссылка на файл выводился полем в ноде. Выставлен приват.
Подскажите решение.
Комментарии
Если для единичных случаев, то можно применять ноду, примерно с таким содержанием. Разрешить PHP.
<?php
<h3>К примеру название файла</h3>
Описание для вашего файла- <?php
global $user;
if (is_object($user) and $user->uid>0) {
$ulogin=$user->name;
?>
<a href="/download/название файла.разрешенное разрешение файла">Слово СКАЧАТЬ или картина-кнопка(<img alt="" src="/download.png" style="margin: 0 5px -5px 0;" />)</a>
<?php
}
else {
?>
<a href="/user">Представьтесь</a> или <a href="/user/register">зарегистрируйтесь</a>
<?php
}
?>
Ну а если масштабы глобальные, то сделать чтобы для всех загрузок сделать проверку юзера.
А если продавать файлы. То уже посложнее выйдет. Проверки сложнее. Хотя можно ссылки для загрузки можно формировать только после оплаты.
Нода выведена как отдельный тип материала
строка вывода:
<?php print render($content['field_download']); ?>
в поле field_download выводится ссылка на скачивание.
сейчас ссылка видна только авторизованным пользователям. Анонимим ее не видно. А надо чтоб была видна, но скачать не могли(переадресация на страницу авторизации). Как в это код вставить проверку роли?
После этой строки поставь проверку на неавторизованного...
И
<a href="/user">Скачать</a>
Ну и дальше endif
Сделал через File entity скачивание по ролям, а вывод сообщения для анонимов функцией user_is_anonymous()
Всем спасибо!!!