DNN探索之路一:Tab,Module的底层脚本实现

********************************************************
Begin 第一步: 添加Tab
********************************************************

insert into Tabs (
    PortalId,
    TabName,
    AuthorizedRoles, ||admin=0;all user=-1;host=-2
    IsVisible,  ||visible=1;
    DisableLink, ||disabel=0;enable=1
    ParentId,
    IconFile,
    AdministratorRoles,  ||admin=0;all user=-1;host=-2
    Title,
    Description,
    KeyWords,
    IsDeleted   ||not deleted=0; deleted=1
)
values (
    @PortalId,
    @TabName,
    @AuthorizedRoles,
    @IsVisible,
    @DisableLink,
    @ParentId,
    @IconFile,
    @AdministratorRoles,
    @Title,
    @Description,
    @KeyWords,
    0
)

实例: ( 生成名为'AddTab'的Tab, AuthorizedRoles有 admin和all users, AdminstratorRoles有admin, 可见,无父Tab)

insert into Tabs (
    PortalId,
    TabName,
    AuthorizedRoles,
    IsVisible, 
    DisableLink,
    ParentId,
    IconFile,
    AdministratorRoles,  
    Title,
    Description,
    KeyWords,
    IsDeleted 
)
values (
    0,
    'AddTab',
    '-1;0;',
    1,
    0,
    NULL,
    NULL,
    '0;',
    NULL,
    NULL,
    NULL,
    0
)


********************************************************
End  第一步: 添加Tab
********************************************************


********************************************************
Begin 第二步: 定义Module

Note: 第二步 至 第四步 是在DNN中还没有定义该Module, ModuleDefinitio, ModuleControls信息的情况下,调用执行
********************************************************

insert into DesktopModules (
  FriendlyName,  ||就是Module Name
  Description,
  Version,
  IsPremium,   || default=0
  IsAdmin  ||admin=1; not admin=0
)
values (
  @FriendlyName,
  @Description,
  @Version,
  @IsPremium,
  @IsAdmin
)

实例: (添加名为'MyModule'的 Module)

insert into DesktopModules (
  FriendlyName, 
  Description,
  Version,
  IsPremium,  
  IsAdmin 
)
values (
  'MyModule',
  'contact maintain',
  NULL,
  0,
  0
)

********************************************************
End 第二步: 定义Module
********************************************************


********************************************************
Begin 第三步: 定义Module Definition
********************************************************

insert into ModuleDefinitions (
  DesktopModuleId, ||第二步生成
  FriendlyName  || Module Definition Name
)
values (
  @DesktopModuleId,
  @FriendlyName
)

实例: (添加名为'CustomerMaintain'的Module Definition Name到'SaleKit' Module中)

insert into ModuleDefinitions (
  DesktopModuleId,
  FriendlyName 
)
values (
  598,
  'CustomerMaintain'
)

********************************************************
End 第三步: 定义Module Definition
********************************************************


********************************************************
Begin 第四步: 向Module中'添加'Module Controls
********************************************************

insert into ModuleControls (
  ModuleDefID, ||在第三步生成
  ControlKey,
  ControlTitle,
  ControlSrc,
  IconFile,
  ControlType, ||skin object=;anonymous=;view=0;edit=1;admin=;host=
  ViewOrder
)
values (
  @ModuleDefID,
  @ControlKey,
  @ControlTitle,
  @ControlSrc,
  @IconFile,
  @ControlType,
  @ViewOrder
)

实例:(添加 'CustomerMaintain' control 到 'CustomerMaintain' ModuleDefinition中.类型为'edit')

insert into ModuleControls (
  ModuleDefID,
  ControlKey,
  ControlTitle,
  ControlSrc,
  IconFile,
  ControlType,
  ViewOrder
)
values (
 699,
  null,
  'CustomerMaintain',
  'DesktopModules/CustomerMaintain.ascx',
  NULL,
  1,
  NULL
)

posted on 2005-05-09 10:04  小怪  阅读(614)  评论(0)    收藏  举报