Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
achimnol edited this page Oct 9, 2012 · 3 revisions

환경 설정 값들이나 저장을 위해 지원되는 컴포넌트들이 플러그인의 데이터를 저장하기에 충분하지 않은 경우, 텍스트큐브는 플러그인이 사용할 수 있는 전용의 테이블을 단수 또는 복수개를 만들 수 있도록 API를 지원합니다.

테이블 만들기

플러그인이 사용하는 테이블을 만들기 위해서는 storage 섹션을 추가해야 합니다. 텍스트큐브의 플러그인 중 하나인 '팀블로그 설정' 플러그인을 예로 들어 보겠습니다.

	 ...
	 <title xml:lang="ko">팀블로그 설정</title>
	 <handler>getTeamBlogSettings</handler>
	 </method>
	 </viewMethods>
	 </adminMenu>
	 </binding>
	 <storage>
	 <table>
	 <name>TeamUserSettings</name>
	 <fields>
	 <field>
	 <name>userid</name>
	 <attribute>int</attribute>
	 <length>11</length>
	 <isnull>0</isnull>
	 <default>1</default>
	 </field>
	 <field>
	 <name>style</name>
	 <attribute>varchar</attribute>
	 <length>255</length>
	 <isnull>1</isnull>
	 <default></default>
	 </field>
	 <field>
	 <name>image</name>
	 <attribute>varchar</attribute>
	 <length>32</length>
	 <isnull>1</isnull>
	 <default></default>
	 </field>
	 <field>
	 <name>profile</name>
	 <attribute>text</attribute>
	 <isnull>1</isnull>
	 <default></default>
	 </field>
	 <field>
	 <name>updated</name>
	 <attribute>int</attribute>
	 <length>11</length>
	 <isnull>0</isnull>
	 <default>0</default>
	 </field>
	 </fields>
	 <key>userid</key>
	 </table>
	 </storage>
	 </plugin>

storage 섹션은 어떤 종류의 테이블을 플러그인이 사용하는지 알려주는 역할을 합니다. 가장 위부터 차례대로 보겠습니다.

  • <name>TeamUserSettings</name>: 플러그인이 사용하는 테이블의 이름입니다. 이 이름에 텍스트큐브의 기본 prefix (설치시 기본 값은 tc_ 입니다) 가 붙은 테이블이 최종적으로 생성됩니다.
  • <fields>: 필드들을 정의합니다. 주의하셔야 할 점은, 필드를 정의할 때 따로 정의하지 않더라도 블로그들을 구분하기 위한 필드인 blogid 라는 필드가 자동으로 생성됩니다. 따라서 블로그를 구분하기 위하여 별도의 필드를 만드시지 않아도 됩니다.
    • <field>: 필드 하나의 시작입니다.
    • <name>updated</name>: 테이블의 필드의 이름입니다. 영소문자가 가능합니다. 대문자를 사용할 경우, 일부 DBMS에서 오류 메세지가 나올 수 있습니다.
    • <attribute>int</attribute>: 필드의 속성입니다. 여기서는 integer를 지정했습니다. 이 이외에도 일반적인 DBMS들이 지원하는 속성을 사용할 수 있습니다. tinyint, varchar, text 이외에도 다양한 속성들이 있습니다. 자세한 부분은 사용하거나 지원할 DBMS의 매뉴얼을 참고하세요.
    • <length>11</length>: 필드의 길이입니다.
    • <isnull>0</isnull>: 필드에 null값을 허용할 것인지의 여부를 결정합니다.
    • <default>0</default>: 기본 값을 지정합니다.
    • </field>

위와 같이 xml에 사용할 테이블의 속성을 명기하면, 이후 플러그인이 테이블을 필요로 할 경우 해당되는 테이블이 자동으로 생성됩니다. 생성된 테이블은 관리자 메뉴의 '플러그인'-'플러그인 테이블 관리' 에서 사용 내역을 보거나 삭제할 수 있습니다.

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /