CSV 파일에서 새 노드를 작성하는 Drupal 모듈을 작성하고 있습니다. 내가 현재하고있는 방식은 사용자가 노드 유형을 제공하고, 모듈이 데이터베이스로 이동하여 해당 노드의 필드를 찾습니다.Drupal : 노드 유형 정보를 다룰 때 데이터베이스를 피 하시겠습니까?
사용자가 노드 필드를 CSV 필드와 일치시킨 후 데이터 유효성을 검사하려고합니다. 이를 위해서는 노드 필드 유형을 찾아야합니다. 나는 그것을하는 방법을 완전히 모르겠다. (어쩌면 content_node_field
테이블을 보십시 오?)
그런 다음 노드를 만들어야합니다. 현재 모듈은 새 StdClass
객체를 만들고 필요한 데이터로 채우고 저장합니다.
그러나 데이터베이스에서 완전히 추상화하여 처리하지 못하면 어떻게 될까요? 이미 존재하는이 유형의 노드를 사용자에게 요청하면 어떻게됩니까? 나는 node_load()
이 노드 일 수 있고 그것을 사용하여 노드 필드를 결정할 수 있습니다. 노드를 저장할 때가되면 "시드"노드를 사용하여 새 노드의 구조가 무엇인지 알아낼 수 있습니다.
하나의 단점 : 모듈이 작동하려면 하나 이상의 노드가 있어야합니다.
또한 db에 직접 액세스하는 것보다 속도가 느려 집니까?
시간이 지남에 따라 db 이름이 변경 될 수 있고 콘텐츠 유형을 여러 테이블에 걸쳐 정의 할 수 있습니다. 기존 노드에서만 작업함으로써 이러한 문제를 해결할 수있었습니다. 권리?
네, 결국 데이터베이스에 충돌해야한다는 것을 알고 있습니다. SQL을 직접 작성해야하는지 아니면 이미 작성된 내용을 사용해야하는지에 대한 질문 일뿐입니다. –