2014-03-12 1 views
0

나는 Drupal 사이트를 보유하고 있으며 주석 작성자와 주석 노드 작성자 만 볼 수있는 (컨텐트 유형 "이벤트"에 대한) 주석 필드를 만들고 싶습니다. 이 필드는 "field_how_to_redeem_this_offer", "field_date"및 "comment_body"입니다. 모듈을 사용하여 해봤지만 비공개 주석을 사용했지만 일부 필드 만이 아니라 전체 주석을 비공개로 설정할 수있는 옵션을 제공합니다. 그래서, 개발자가 사용자 정의 모듈을 만들었고, 위에서 언급 한 필드가 표시되지 않고 새 주석을 만들 때만 작동합니다. 나는 새로운 코멘트를 작성할 때 코멘트 작성자가 아직 할당되지 않았으므로 새로운 코멘트가 작성 될 때 (또는 주석 양식이 표시 될 때) 코드를 변경해야하기 때문에 모든 필드를 사용할 수 있어야합니다. 사용자. 이것을 할 수있는 방법이 있습니까? 아래 코드를 참조하십시오 :작성자 및 노드 작성자에게만 설명하기위한 주석 필드 표시

`function bidonmybash_field_access($op, $field, $entity_type, $entity, $account) { 
global $user; 
$fields = array('field_how_to_reedem_this_offer','field_date','comment_body'); 
if (in_array($field['field_name'],$fields)) { 
if ($entity) { 
if (isset($entity->node_type)) { 
    if ($entity->node_type == 'comment_node_event') { 
    $cuid = $entity->uid; 
    $node = node_load($entity->nid); 
    $nuid = $node->uid; 
    if ($user->uid == $cuid || $user->uid == $nuid) { 
     return TRUE; 
    } 
    else { 
     return FALSE; 
    } 
    } 
} 
} 
} 
}` 

미리 도움을 청하십시오!

답변

0

나는 그냥 댓글이 새로운 경우 $의 CUID가 정의되어야하기 때문에

if (!$cuid || $user->uid == $cuid || $user->uid == $nuid) 

처럼

!$cuid 

그렇게 보이는 추가 할 수 있다고 생각 것입니다.

+0

감사합니다. – user3411625