답변:
hook_uninstall()
FEATURE_NAME.install 파일에서를 사용 하고 컨텐츠 유형의 상태를 변경하여 시스템은 파일이 잠금 해제 된 사용자 정의 컨텐츠 유형이라고 생각합니다.
<?php
/**
* Implements hook_uninstall().
*/
function FEATURE_NAME_uninstall() {
// List custom content types added by this feature
$custom_ctypes = array(
'blog',
);
// Go through each and unlock the content type
foreach ($custom_ctypes as $ctype) {
db_query("UPDATE {node_type} SET `custom` = 1, locked = 0 WHERE type = :ctype", array(':ctype' => $ctype));
}
// Clean Drupal cache; this is necessary for the "Delete" link to appear
// next to the content type created by the feature.
drupal_flush_all_caches();
}
그러면 해당 컨텐츠 유형에 대해 "삭제"단추가 나타나므로 관리자에서 삭제할 수 있습니다.
이것이 누군가를 돕기를 바랍니다!
node_type_delete($ctype);
for 루프에서 쿼리 뒤에 추가하십시오 .
mysql> UPDATE node_type SET custom = 1, locked = 0 WHERE type = '<content type machine name>';
나에게 해결책은 콘텐츠 유형 페이지에 "삭제"링크가 없기 때문에 삭제 페이지를 수동으로로드하는 것이 었습니다. 이렇게하려면 다른 컨텐츠 유형의 삭제 페이지와 동일한 URL 구조를 따라 URL을 직접 구성하면됩니다.
관리자 / 구조 / 유형 / 관리 / YOUR_CONTENT_TYPE_MACHINE_NAME / 삭제
그러면 컨텐츠 유형 삭제 확인 페이지가 표시되어 컨텐츠 유형을 삭제할 수있었습니다.
참고로 Drupal.org에서이 스레드를 참조하십시오.
https://drupal.org/node/1055460#comment-7297680
문안 인사,
cm
.info
파일 을 편집 하고 내용 유형을 제거해야 실제로 삭제됩니다.
개발 사이트의 데이터베이스에 직접 도움이되는 또 다른 솔루션입니다. 항상 데이터베이스를 백업해야합니다.
수동 기능을 통해 생성 된 콘텐츠 형식 삭제하려면 무엇 # 16 Nedjo이 제안은 다음과 같다 :
- 기능을 비활성화하십시오. 때때로이 문제가 발생하여 기능이 비활성화되지 않습니다. 이 경우 기능 모듈 코드를 제거하십시오.
- 삭제할 컨텐츠 유형의 기계 이름 (예 : 'mytype')을 결정하십시오.
- 데이터베이스에서 컨텐츠 유형이 UI를 통해 수동으로 작성된 것처럼 node_type 테이블 값을 기본값으로 되 돌리십시오.
mysql> UPDATE node_type SET module = 'node', custom = 1, modified = 1, locked = 0 WHERE type = 'mytype';
- 컨텐츠 유형 변경이 가능하도록 캐시를 지우십시오.
- admin / structure / types의 UI를 통해 컨텐츠 유형을 삭제하십시오.
admin_menu module 을 사용하는 경우 컨텐츠 유형 페이지에 표시되지 않더라도 풀다운 메뉴 구조 / 콘텐츠 유형 / [콘텐츠 유형 이름] / 삭제에 삭제 링크가 계속 표시됩니다.
더 이상이 컨텐츠 유형에 대한 다른 참조가없는 경우이 삭제 링크를 사용하는 것이 안전하다고 말하고 싶습니다.