2009-04-21 7 views
5

Drupal 6.x 시스템을 사용하여 운동/개인 교육 프로그램을 만들고 CCK를 사용하여 콘텐츠 유형으로 운동 및 프로그램을 사용합니다. 여기에서 Program에는 몇 가지 헤더 입력란이 포함되어 있습니다. 구성된 실습에 대한 노드 참조 목록입니다. 이 훌륭한 작품과 나는 수동으로 잘 작동하는 프로그램을 만들 수 있습니다. 지금 자동으로 내가 개발 한 알고리즘의 수에 따라 이러한 프로그램을 생성 할 수있는 모듈을 생성하고자하는 프로세스는 다음과 같이 표시됩니다 API를 통해 프로그래밍 방식으로 Drupal CCK 콘텐츠 만들기

  • 로드 사용자의 개인 정보를 배열로

    1. 로드 모든 운동을 (이전에 입력)
    2. 구축에 가장 적합한 운동
    3. 는 새로운 프로그램의 콘텐츠 형식을
    4. 저장 프로그램을 만들기

    연습에는 많은 관련 속성이 있습니다. 위의 모든 작업을 SQL을 테이블에 직접 사용하여 수행 할 수는 있지만 매우 복잡하고 옳지 않다고 생각합니다. 1 단계에서 Exercise 객체 (node_load?)의 배열로 연습 문제를로드 한 다음 프로그램 객체를 만들고 저장합니다. 이 OO 유형 접근이 가능한가 또는 데이터를 직접 조작해야 하는가?

    감사

  • 답변

    5

    이 작업을 수행하는 자신의 모듈을 작성하는 것이 문제를 해결하는 가장 좋은 방법.

    1 단계 당신은 모든 excercies에 node_load ($의 NID)을 할 수 2 단계는 user_load ($의 UID)는 사용자 개체를 반복하고 적절한 excercies에 일치해야합니다 3 단계를 사용할 수 있습니다. 4/5 단계 새 $ node = stdClass();를 작성합니다. 객체를 수집하고 올바른 데이터로 속성을 채운 다음 perf_node_save ($ node); 이것은 $ node-> id 등을 할당합니다.

    교육 프로그램 노드에 어떤 속성이 있는지 확실하지 않으면 print_r ($ 노드)을 수행하십시오. 당신이 이미 창조 한 것에.

    +0

    이 모듈을 작성하려고합니다. node_save는 어떻게 작동합니까? 이것은 노드 테이블에 저장 될 것인가 아니면 실제로 프로그램을위한 엔트리를 실제로 생성 할 것인가? – Macros

    +0

    node_save는 노드 객체에서 작동하여 node 및 node_revisions 테이블에 저장 한 다음 다른 모든 모듈 후크를 호출합니다. –

    1

    드루팔은 제공하지 않는 한 급습 노드의 계층 구조를 저장하는 메커니즘을 저장 "계단식". 필 카터 (Phil Carter)의 설명에 따라 각 노드를 코드로 작성하고 node_save()를 명시 적으로 호출해야합니다.

    Node Export 모듈은 프로그래밍 방식으로 노드 (CCK 필드로 완료)를 만들기위한 샘플 코드를 생성 할 수 있습니다.

    0

    가져 오기 작업을 올바르게 수행하려고하는 모듈이 많이 있습니다. 그들 사이의 비교를보세요 http://groups.drupal.org/node/21338

    물건을 노드로 가져 오는 전략이나 예제가 필요한 경우 훌륭한 자료입니다.

    0

    "프로그램을 만드는 것"이 ​​필요하다고 생각하지 않습니다.

    귀하의 요구 사항에 맞는 연습 문제 목록을 표시하고 '특성'을 사용자와 공유하는 것만으로는 안됩니다.

    나는 '특성'을 택 소미로 만듦으로써이를 달성 할 수 있습니다. 그런 다음 프로필 또는 분류 플래그를 사용하여 사용자에게 연결됩니다. 그런 다음 목록 (아마도 처음에는보기조차도)과 연습 내에서 동일한 특성 태그를 가진 목록을 표시하십시오.

    동적이며 사용자마다 다르며 많은 프로그램을 사전로드해야합니다.

    생각.

    +0

    처음에는이 경로를 따라 갔지만 많은 사용자 데이터가 고려되었고 프로그램은 거의 맞춤식으로 작성되지 않았습니다. 3 단계에서 최상의 연습을 설정하는 알고리즘은 꽤 복잡합니다. – Macros

    +0

    그래, 그게 답이라고 생각했습니다. 그러나 올바른 쿼리를 사용하여 모든 잠재적 인 운동 경기를로드 한 다음 나머지 결과를 구성하고 그 목록을 표시하여 아버지를 좁힐 수 있습니다. 노드 팩터 리가 필요하지 않은 것에 대한 투표. –

    관련 문제