[Решено]Доступ к Filefield

Главные вкладки

Аватар пользователя chieko chieko 6 апреля 2011 в 0:05

Всем привет. Надеюсь на Вашу помощь. Задача заключается в следующем, есть тип материала с полем Filefield, требуется для различных материалов этого типа разный доступ к полю, т.е. разрешить скачивание анонимусам/не разрешать. Вроде решилось бы все просто модулем Content Permissions, но тогда получается, что либо анонимусы могут скачивать, либо нет.

Комментарии

Аватар пользователя Stan.Ezersky Stan.Ezersky 6 апреля 2011 в 0:27

Добавить чекбокс в тип материала, если отмечен, не давать скачивать, если пустой, давай.
Делается на уровне шаблона типа материала :

<?php if(чекбокс не отмечен) : ?>
  показываем поле
<?php endif;?>
Аватар пользователя Stan.Ezersky Stan.Ezersky 6 апреля 2011 в 14:08

"iNFerNo" wrote:
А если ссылку дать прямую на скачивание... все равно же скачает...
Включаем приватный метод загрузки, профит

Аватар пользователя chieko chieko 6 апреля 2011 в 15:39

Stan.Ezersky на уровне шаблона типа материала, это где?
Т.е. я правильно понял мы добавляем поле cck checkbox и настройках этого поля делаем проверку.

Аватар пользователя Stan.Ezersky Stan.Ezersky 6 апреля 2011 в 16:19

"chieko" wrote:

Stan.Ezersky на уровне шаблона типа материала, это где?
Т.е. я правильно понял мы добавляем поле cck checkbox и настройках этого поля делаем проверку.

node-MyNodeType.tpl.php

Аватар пользователя chieko chieko 6 апреля 2011 в 17:51

Если не сложно, можете объяснить как? Я так понимаю создать views-view-table--my-view.tpl.php и в нем уже сделать проверку, но как я получу значение checkbox'a?

Аватар пользователя Stan.Ezersky Stan.Ezersky 6 апреля 2011 в 22:50

"chieko" wrote:
как я получу значение checkbox'a?
А как вы получаете значения полей в views-view-table--my-view.tpl.php, если конечно не пользуетесь дефолтным шаблоном? Во Views можно темизировать шаблоны по своему.

Не сталкивались?
Поможет google.com:// Drupal Views theming

Аватар пользователя chieko chieko 7 апреля 2011 в 17:47

Не пойму как проверить checkbox(тип integer, значения по умолчанию 0|off,1|on) на значение вкл.,выкл.

   
<?php
   
global $user;
   if (
array_key_exists(1$user->roles) && ($row['field_permsfile_value']->content==1)){
                print 
t('Пожалуйста зарегистрируйтесь');
            }
   else{
                print 
$row['field_vt_book_fid'];
            }
?>

Так что-то не получается.

Аватар пользователя chieko chieko 8 апреля 2011 в 18:03

все оказалось гораздо проще, во views формат поля чекбокс ставим unformatted и условие


<?php
if (array_key_exists(1$user->roles) && ($row['field_permsfile_value']))
?>