2012-10-11 2 views
4

구성 파일을 통해 데이터 익스텐더를 구성 가능하게 만들고 싶습니다. 에디터 설정 파일에 'customconfiguration'노드가 있다는 것을 알았습니다. 나는이 기능을 사용하여 확장 기능의 동작을 구성 할 수 있다고 생각합니다. C#에서 해당 사용자 정의 노드에 액세스하는 방법이 있습니까? 당신은에 ConfigurationManager.Editors을 사용할 수 있습니다 ConfigurationManager.Models을GUI 확장을 구성하는 방법

using System.Xml; 
using Tridion.Web.UI; 
using Tridion.Web.UI.Core; 

namespace Custom.Model 
{ 
    public class Configuration 
    { 
     public static string GetConfigString(string configItem) { 
      XmlDocument customConfiguration = ConfigurationManager.Models["Custom.Model"].CustomXml; 
      XmlNamespaceManager ns = new XmlNamespaceManager(new NameTable()); 
      ns.AddNamespace("c", Constants.EDITOR_CONFIG_NAMESPACE); 
      XmlNode node = customConfiguration.SelectSingleNode("//c:customconfiguration/c:clientconfiguration/c:" + configItem, ns); 
      string configValue = node != null ? node.InnerText : ""; 

      return configValue; 
     } 
    } 
} 

보다는 사용 : 나는 데이터 확장 적용하지만, 나는 다음과 같은 코드를 사용하여 모델 설정에서 사용자 지정 설정을 읽어 모르는

답변

4

편집기 설정으로 이동하십시오. 확장 기능을 활성화하는 System.config에 지정된 이름으로 모델 또는 편집기를 참조합니다 (예 : 아래 예에서 정의 된 CME.

<editor name="CME"> 
    <installpath>C:\Program Files (x86)\Tridion\web\WebUI\Editors\CME\</installpath> 
    <configuration>Configuration\CME.config</configuration> 
    <vdir>CME</vdir> 
</editor> 
+0

감사합니다. 제레미, 지금 당장 시험해 보겠습니다. – Quirijn

+0

매력처럼 작동합니다, 감사합니다! – Quirijn

2

WebRoot/Configuration 폴더의 구성 파일은 CME 응용 프로그램의 "핵심"구성 파일에 대한 일반 구성 파일입니다. CME 응용 프로그램의 각 편집기 및 모델에 대한 구성 파일이 있습니다. 이러한 구성 파일에는 ConfigurationManager에서 액세스 할 수있는 "사용자 정의 구성"섹션이 있습니다.

DataExtender를 만들려면 새로운 확장 모델을 만들어야합니다. 그 모델에 대한 구성 파일은 사용자 정의 섹션에 필요한 정보를 채울 수 있습니다.