2017-05-21 10 views
1

私はデータベースにファイルをアップロードするためのモジュールを作成しており、管理者だけがそのファイルをアップロードできます。だから私は、ファイルをアップロードに投与のためhook_permissionを持っています。また、私はパスfiles/node/%にはいくつかのカスタム・ノードを作成匿名ユーザーに対するDrupalの許可

function upload_permission() { 
    return array(
    'administer uploader' => array(
     'title' => t('Administer Uploader'), 
     'description' => t('Allow the following roles to upload files files to the server.'), 
    ), 
); 
} 

、今私は、カスタム・ノードでページを参照するには、匿名ユーザーのための許可が必要です。以下、この許可を追加します:

'access files/node/%' => array(
     'title' => t('Access Files'), 
     'description' => t('Access Files.'), 
    ), 

まだ動作しません。匿名ユーザーがカスタムノードでページを表示する方法は他にありますか?

答えて

2

私の知る限り、匿名ユーザーの役割を確認する必要があるCMS権限ページの権限「ビュー公開されたコンテンツ」を確認してください。 Drupalノードを表示するには、個別のノード権限設定を使用するまで、特定の権限は必要ありません。また、カスタムノードのパスについては、hook_menuの下の設定配列を使用して、すべてのパスがURL 'files/node /%'で動作するようにしてください。

/** 
* Implements hook_menu(). 
*/ 
function yourmodule_menu() { 
    $items = array();  
    $items['files/node/%'] = array(
     'title' => 'Files node', 
     'page callback' => '_yourmodule_page_callback', 
     'page arguments' => array(2), 
     'access arguments' => array('access content'), 
     'type' => MENU_CALLBACK, 
    ); 
    return $items; 
} 

「アクセスコンテンツ」(公開されたコンテンツを表示)のアクセス許可を持つユーザーは、これらのノードを参照できることになります。

'access arguments' => array('access content'), 

希望すると、これが役立ちます。

+0

ありがとうございます@Anurag –

関連する問題