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
)
浙公网安备 33010602011771号