아직 로그인하지 않았습니다. 로그인 또는 회원 등록을 해 주시기 바랍니다.

안내

글을 찾기 위한 검색 메뉴는 바로 위 메뉴의 '회원 명단' 옆에 있습니다~
TNF는 회사가 아니라 오픈소스 커뮤니티입니다. textcube.org 는 회사에서 운영하는 서비스가 아니라, 커뮤니티에서 개발하는 소프트웨어입니다.
(2007.1.10) TNF는 해당 포럼 및 위키, trac 저장소상에서 이메일 수집을 금지합니다. 해당 공지 를 포럼 하단에 명기하였습니다.
(2007.2.9) TNF와 태터툴즈/텍스트큐브 코드 수정에 관한 workflow를 정리하였습니다. 안내
(2007.4.5) 공식 소스 버그 리포터 그룹의 일원이 되어주실 분들을 찾습니다. :) 관련 공지

최근소식

(2016.1.18) 텍스트큐브 1.10.9 의 첫 베타 버전을 배포합니다. 내려받기
(2015.11.19) 텍스트큐브 1.10.8 : Tempo primo를 배포합니다. 내려받기
(2015.7.9) 텍스트큐브 1.10.8의 첫번째 발표 후보를 배포합니다. 내려받기
(2015.6.4) 텍스트큐브 1.10.7 : Tempo primo를 배포합니다. 내려받기

포럼 내용 넘어가기

TNF : Tatter Network Foundation forum

태터 네트워크 재단 - 태터앤프렌즈 포럼입니다 :)


새 댓글 쓰기

새 댓글 쓰기

새 댓글 쓰기

사용할 수 있는 기능: BBCode 이미지 웃음그림

입력을 마치기 전에 (필수) 로 명기된 부분은 모두 적어 주셔야 합니다.

방문자의 경우 필요한 정보



Captcha image. Turn pictures on to see it.
필요한 정보
선택사항설정

주제 보기 (새 글 순)

10

http://dev.textcube.org/ticket/1176
에서 진행하였습니다.

리턴되는 XML이 완전 오류였더군요. ^^; 감사합니다.

9

넵. true..

php program에 익숙하지 않아 data type에 대한 개념이 없습니다. ^^

8

감사합니다. 하위 개념은 없는 거 였군요...

7

코드에서 isPrimary는 boolean입니다. true로 표기해 주세요.

6

mt에서 하위카테고리라는 개념은 없습니다.
"여행" 아래에 "아시아" 라고 있다면 "여행/아시아"라고 "아시아"항목을 출력하면 전혀 문제없습니다.

5

source 중에...  library/model/blog.api.php를 보면 mt.getPostCategory(...)의 return으로 category id의 array만 리턴하는 것으로 되어 있습니다. (source line 894 version 1.7.6)

function mt_getPostCategories()
{
        $params = func_get_args();
        $result = api_login( $params[1], $params[2] );
        if( $result )
        {
                return $result;
        }

        $post = new Post();
        $post->open( intval( $params[0] ) );

        $cat = array( $post->category );
        $post->close();


        return $cat;
}

그런데, mt.getPostCategories()의 정의(http://www.sixapart.com/developers/xmlrpc/movable_type_api/mtgetpostcategories.html)에 따르면 return값은

{string categoryName, string categoryId, Boolean isPrimary}의 structure array로 정의 되어 있네요.

source 를

function mt_getPostCategories()
{
        $params = func_get_args();
        $result = api_login( $params[1], $params[2] );
        if( $result )
        {
                return $result;
        }

        $post = new Post();
        $post->open( intval( $params[0] ) );

        $catId = array($post->category);
        $catName = api_getCategoryNameById( $post->category );

        $post->close();

        $returnCat = array(0);
        $returnCat[0] = array( "categoryId" = $catId, 
                                            "categoryName" = $catName,
                                            "isPrimary" = 1);


        return $returnCat;
}

와 같이 리턴 값을 변경하니 에러 없이 잘 진행 됩니다....

계층으로 되어 있는 하위 분류의 경우는 어떻게 처리되는지 몰라서... 안되는군요.

4

서비스쪽 코드는 설치형으로 넘어오는 프로세스가 없나요?

3

그동네 리스판스 요구가 구려서 아마 XMLRPC 리턴쪽을 좀 많이 고친 기억이 있군요. 함수들 리턴도 전부 다시 검증하였습니다.
특히 stuct와 array를 PHP에서 구분하기 쉬운편은 아니라 트릭도 약간 썼구요.

~~~

서비스 이야깁니다. smile

2

코드를 보진 않았지만 해당 함수의 Movable Type API 명세를 보니
텍스트큐브닷컴 쪽의 return이 맞는 것으로 보이는군요.
텍스트큐브(설치형) Movable Type API 구현을 살펴봐야 할 것 같습니다.

ps) 그러고보니 return value가 없는 점도 이상하네요.

1

맥에서 ecto를 블로그툴로 사용하려 하고 있습니다.

작성된 글을  ecto로 불러오는 중 에러가 나서 콘솔출력을 보니 다음과 같더군요.

<methodName>mt.getPostCategories</methodName>
<params>
    <param>
        <value><string>13</string></value>
    </param>
    <param>
        <value><string>userid</string></value>
    </param>
    <param>
        <value><string>password</string></value>
    </param>
</params>
</methodCall>

에 대한 응답으로

Response:
Status            : 200
X-Powered-By      : PHP/5.2.6
Expires           : Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control     : no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Keep-Alive        : timeout=15, max=99
Pragma            : no-cache
Server            : Apache/2.0.59 (Unix) PHP/5.2.6 DAV/2
Content-Type      : text/xml
Date              : Mon, 01 Dec 2008 04:20:20 GMT
Content-Length    : 198
Connection        : Keep-Alive

<?xml version="1.0" encoding="utf-8"?>
<methodResponse>
  <params>
    <param>
    <value>
             <struct>
             <member>
                   <name>0</name>
                   <value><string></string></value>
             </member>
             </struct></value>
    </param></params>
</methodResponse>

이 부분에서 ecto가 에러를 냅니다. 그 이유가 뭔지는 모르겠지만, 서버형 텍스트큐브의 경우 mt.getPostCategories의 response 는

<?xml version="1.0" encoding="utf-8"?>
<methodResponse>
  <params>
     <param>
            <value>
            <array>
            <data>
                 <value>
                 <struct>
                 <member>       
                       <name>categoryId</name>
                       <value><string>4871</string></value>
                  </member>
                  <member>
                        <name>categoryName</name>
                        <value><string>music</string></value>
                  </member>
                  <member>
                         <name>isPrimary</name><value>
                         <boolean>1</boolean></value></member>
                  </struct></value></data>
             </array></value>
     </param></params></methodResponse>

와 같이 옵니다.

둘간의 차이는 서버형의 경우 response가 structure의 array 형태로 오는 것 같고, 설치형은 그냥 보내는 것 같습니다. 서버형의 경우 ecto가 에러 없이 잘 동작합니다.

이 차이 때문에 클라이언트가 에러를 내는 것일까요?



Currently installed 7 official extensions. Copyright © 2003–2009 PunBB.