VBScript for SDL Tridion 5.2로 작성된 많은 사용자 지정 스크립트가 있습니다. 이 스크립트는 TOM API를 사용하여 Tridion 객체에 대한 여러 가지 대량 작업을 수행합니다.SDL Tridion 2011에서 VBScript 사용자 지정 페이지 실행
2011 SP1로 최근 업그레이드 한 이후 많은 구성 요소 프리젠 테이션에 사용 된 구성 요소 템플릿을 변경해야한다는 요구 사항이있었습니다.이를 수행하는 가장 좋은 방법은 스크립트를 실행하여 필요한 페이지를 업데이트하는 것입니다. 컴포넌트 프레젠테이션.
이전에는 다음 코드와 비슷한 VBScript를 실행하여 이러한 변경 작업을 수행 할 수있었습니다. 2011 년에도 이러한 스크립트를 실행하여 이러한 종류의 변경 작업을 수행 할 수 있습니까?
Content Manager 서버 (Windows 2008 R2)에서 Classic ASP를 사용하는 것이 간단합니까? 나는이 아마도 핵심 서비스를 사용하여 수행 할 수 있습니다 알고 있지만,이 코드 또는 닷넷에 대한 지식없이,이 작업을 수행 할 VBScript를를 사용하는 것이 여전히 가능
<%
'##### CREATE TRIDION API OBJECTS #####
Set TDSE = Server.CreateObject("TDS.TDSE")
Call TDSE.Initialize()
'##### CALL FUNCTION - PASS IN STRUCTURE GROUP STARTING POINT #####
Call UpdateComponentTemplates(TDSE.GetObject("tcm:44-39929-4", OpenModeEditWithFallback, "tcm:0-44-1"))
Sub UpdateComponentTemplates(arg_strStructureGroup)
'##### GET ALL ITEMS WITHIN SPECIFIED STRUCTURE GROUP #####
For Each objItem In arg_strStructureGroup.GetItems
'##### IF ITEM IS A STRUCTURE GROUP #####
If TypeName(objItem) = "StructureGroup" Then
'##### CALL THE FUNCTION AGAIN, PASSING IN THE STRUCTURE GROUP #####
Call UpdateComponentTemplates(objItem)
End If
'##### IF ITEM IS A PAGE #####
If TypeName(objItem) = "Page" Then
For Each objComponent In objItem.ComponentPresentations
'##### CHECK EXISTING COMPONENT TEMPLATE & UPDATE WITH THE NEW ONE #####
If objComponent.ComponentTemplate.ID = "tcm:44-493-32" Then
'objComponent.ComponentTemplate = "tcm:44-216181-32"
'objItem.Save(True)
'##### OUTPUT STATUS MESSAGE #####
Response.Write(objItem.Title & " ......................... UPDATED<br />") & vbCrlf
Response.Flush()
End If
Next
End If
Next
End Sub
Response.Write("<p>Job Done!!!</p>") & vbCrlf
'##### CLEAN UP OBJECTS #####
Set TDSE = Nothing
%>
?
왜 그냥 사용해 보지 않으시겠습니까? 또는 그것을 시도하고 거기에 문제가 있습니까? –