稍微升级了一下,目前支持7,但是里面的form相关的uc_field_access_form_alter的升级不成功,有感兴趣的可以继续研究一下。
功能:
可以控制product分类相关的字段的权限控制
<?php
function uc_field_access_get_permissions() {
  $permissions=array(
    'image',
    'display_price',
    'model',
    'list_price',
    'cost',
    'sell_price',
    'weight',
    'dimensions',
    'add_to_cart',
    'grid_title',
    'grid_model',
    'grid_sell_price',
    'grid_add_to_cart',
    'grid_attributes'
  );
  return $permissions;
}
function uc_field_access_get_classes() {
    $result = db_query("SELECT pcid, name FROM {uc_product_classes}");
    foreach ($result as $class) {
      $classes[$class->pcid] = $class->name;
    };
    $classes['product'] = 'Product';
return $classes;
}
function uc_field_access_permission()  {
$permissions=uc_field_access_get_permissions();
$classes=uc_field_access_get_classes();
//$perm=array();
foreach($classes as $cid => $class) {
  foreach($permissions as $permission) {
   $perm["view $cid $permission"] = array(
      'title' => t('View '.$cid.' '. $permission),
      'description' => t('Allow users to view '.$cid.' '. $permission.''),
    );
  }
}
return($perm);
}
function uc_field_access_node_view($node,$view_mode, $langcode) {
$list = uc_field_access_get_classes();
if(@$list[$node->type]) {
if (!user_access('view '. $node->type .' image')) {
$node->content["image"]['#access'] = FALSE;
}
if (!user_access('view '. $node->type .' display_price')) {
$node->content["display_price"]['#access'] = FALSE;
}
if (!user_access('view '. $node->type .' model')) {
$node->content["model"]['#access'] = FALSE;
}
if (!user_access('view '. $node->type .' list_price')) {
$node->content["list_price"]['#access'] = FALSE;
}
if (!user_access('view '. $node->type .' cost')) {
$node->content["cost"]['#access'] = FALSE;
}
if (!user_access('view '. $node->type .' sell_price')) {
$node->content["sell_price"]['#access'] = FALSE;
}
if (!user_access('view '. $node->type .' weight')) {
$node->content["weight"]['#access'] = FALSE;
}
if (!user_access('view '. $node->type .' dimensions')) {
$node->content["dimensions"]['#access'] = FALSE;
}
}
}
?>
Drupal 版本