2014-03-12 101 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